/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* DAG Instruction Selector for the Hexagon 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 , 71|128,26|128,2, TARGET_VAL(ISD::STORE),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_Scope, 117|128,45|128,1,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 121|128,50, TARGET_VAL(ISD::ADD),
    OPC_Scope, 119|128,24,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_Scope, 95|128,18,
      OPC_MoveChild1,
      OPC_SwitchOpcode , 60|128,9, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_Scope, 22|128,1,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 46,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 11,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 0, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        46,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 11,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 0, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        46,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 11,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 0, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        0,
       53,
        OPC_CheckPredicate, 21,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       51,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_CheckPredicate, 13,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate7,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       22|128,1,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 46,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 24,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 1, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        46,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 24,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 1, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        46,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 24,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 1, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        0,
       22|128,1,
        OPC_CheckPredicate, 21,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 46,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 2, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        46,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 2, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        46,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 2, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        0,
       51,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_CheckPredicate, 13,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate7,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 3, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       16|128,1,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 44,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 11,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 0, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        44,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 11,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 0, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        44,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 11,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 0, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        0,
       51,
        OPC_CheckPredicate, 21,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       49,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_CheckPredicate, 13,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate7,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       16|128,1,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 44,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 24,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 1, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        44,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 24,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 1, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        44,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 24,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 1, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        0,
       16|128,1,
        OPC_CheckPredicate, 21,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 44,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 2, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        44,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 2, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        44,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 2, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        0,
       49,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_CheckPredicate, 13,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate7,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 3, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       0,
      24|128,9, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_Scope, 18|128,1,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 45,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 11,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 0, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        45,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 11,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 0, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        45,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 11,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 0, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        0,
       51,
        OPC_CheckPredicate, 21,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       49,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_CheckPredicate, 13,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate7,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       18|128,1,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 45,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 24,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 1, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        45,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 24,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 1, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        45,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 24,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 1, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        0,
       18|128,1,
        OPC_CheckPredicate, 21,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 45,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 2, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        45,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 2, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        45,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 2, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        0,
       49,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_CheckPredicate, 13,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate7,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 3, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       12|128,1,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 43,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 11,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 0, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        43,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 11,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 0, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        43,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 11,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 0, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        0,
       49,
        OPC_CheckPredicate, 21,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       47,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_CheckPredicate, 13,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate7,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       12|128,1,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 43,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 24,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 1, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        43,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 24,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 1, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        43,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 24,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 1, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        0,
       12|128,1,
        OPC_CheckPredicate, 21,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 43,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 2, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        43,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 2, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        43,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 25,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 2, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        0,
       47,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_CheckPredicate, 13,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 43,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate7,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 3, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       0,
      0,
     97|128,3,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI32,
      OPC_CheckPredicate6,
      OPC_Scope, 39,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 11,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 0, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      39,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 11,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 0, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      39,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 11,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 0, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      39,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 11,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 0, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      37,
       OPC_CheckPredicate, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 11,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 0, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      39,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 24,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 1, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      39,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 24,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 1, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      39,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 24,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 1, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      39,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 25,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 2, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      39,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 25,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 2, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      39,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 25,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 2, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      37,
       OPC_CheckPredicate, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 3, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      0,
     40|128,2,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_Scope, 120,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 36,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       36,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       36,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       0,
      120,
       OPC_CheckPredicate, 21,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 36,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       36,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       36,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       0,
      41,
       OPC_CheckPredicate, 20,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 13,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      0,
     0,
    41|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 117,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 35,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      35,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      35,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      0,
     117,
      OPC_CheckPredicate, 21,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 35,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      35,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      35,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      0,
     40,
      OPC_CheckPredicate, 20,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_CheckChild0Same, 3,
      OPC_CheckChild1Same, 4,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitConvertToTarget4,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 6, 1,
     0,
    37|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 116,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 35,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      35,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      35,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      0,
     116,
      OPC_CheckPredicate, 21,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 35,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      35,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      35,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      0,
     39,
      OPC_CheckPredicate, 20,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 3,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 6, 4,
     0,
    31|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 113,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 34,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      34,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      34,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      0,
     113,
      OPC_CheckPredicate, 21,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 34,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      34,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      34,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      0,
     38,
      OPC_CheckPredicate, 20,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckChild0Same, 3,
      OPC_CheckChild1Same, 4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitConvertToTarget4,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 6, 1,
     0,
    112|128,5,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_Scope, 73|128,3,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI32,
      OPC_CheckPredicate6,
      OPC_Scope, 37,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 11,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 0, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      37,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 11,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 0, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      37,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 11,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 0, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      37,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 11,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 0, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      35,
       OPC_CheckPredicate, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 11,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 0, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      37,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 24,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 1, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      37,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 24,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 1, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      37,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 24,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 1, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      37,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 25,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 2, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      37,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 25,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 2, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      37,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 25,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 2, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      35,
       OPC_CheckPredicate, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 3, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      0,
     26|128,2,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_Scope, 114,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 34,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       34,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       34,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       0,
      114,
       OPC_CheckPredicate, 21,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 34,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       34,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       34,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       0,
      39,
       OPC_CheckPredicate, 20,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 13,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 4,
      0,
     0,
    27|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 111,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 33,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      33,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      33,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      0,
     111,
      OPC_CheckPredicate, 21,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 33,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      33,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      33,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      0,
     38,
      OPC_CheckPredicate, 20,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_CheckChild0Same, 3,
      OPC_CheckChild1Same, 4,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitConvertToTarget4,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 5, 1,
     0,
    23|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 110,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 33,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 4,
      33,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 4,
      33,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 4,
      0,
     110,
      OPC_CheckPredicate, 21,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 33,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 4,
      33,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 4,
      33,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 4,
      0,
     37,
      OPC_CheckPredicate, 20,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 3,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 5, 4,
     0,
    17|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 107,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 32,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      32,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      32,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      0,
     107,
      OPC_CheckPredicate, 21,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 32,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      32,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      32,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      0,
     36,
      OPC_CheckPredicate, 20,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckChild0Same, 3,
      OPC_CheckChild1Same, 4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitConvertToTarget4,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 5, 1,
     0,
    92|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI32,
     OPC_CheckPredicate6,
     OPC_Scope, 29,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     29,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     29,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     29,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     29,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     29,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     27,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     0,
    86|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI32,
     OPC_CheckPredicate6,
     OPC_Scope, 28,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     28,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     28,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     28,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     28,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     28,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     26,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     0,
    78|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI32,
     OPC_CheckPredicate6,
     OPC_Scope, 27,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     27,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     27,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     27,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     27,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     27,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     25,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     0,
    72|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI32,
     OPC_CheckPredicate6,
     OPC_Scope, 26,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     26,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     26,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     26,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     26,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     26,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     24,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_add_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     0,
    0,
   67|128,42, TARGET_VAL(ISD::SUB),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_Scope, 91|128,21,
     OPC_MoveChild1,
     OPC_SwitchOpcode , 124|128,10, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_Scope, 22|128,1,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 46,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 24,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 1, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       46,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 24,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 1, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       46,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 24,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 1, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       0,
      22|128,1,
       OPC_CheckPredicate, 21,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 46,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 25,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 2, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       46,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 25,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 2, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       46,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 25,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 2, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       0,
      51,
       OPC_CheckPredicate, 20,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_EmitConvertToTarget4,
       OPC_EmitNodeXForm, 3, 7,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 8,
      22|128,1,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 46,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       46,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       46,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       0,
      22|128,1,
       OPC_CheckPredicate, 21,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 46,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       46,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       46,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       0,
      51,
       OPC_CheckPredicate, 20,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 11,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_EmitConvertToTarget4,
       OPC_EmitNodeXForm, 0, 7,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 8,
      16|128,1,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 44,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 24,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 1, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       44,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 24,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 1, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       44,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 24,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 1, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       0,
      16|128,1,
       OPC_CheckPredicate, 21,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 44,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 25,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 2, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       44,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 25,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 2, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       44,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 25,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 2, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       0,
      49,
       OPC_CheckPredicate, 20,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_EmitConvertToTarget4,
       OPC_EmitNodeXForm, 3, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 7,
      16|128,1,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 44,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       44,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       44,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       0,
      16|128,1,
       OPC_CheckPredicate, 21,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 44,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       44,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       44,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       0,
      49,
       OPC_CheckPredicate, 20,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 11,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_EmitConvertToTarget4,
       OPC_EmitNodeXForm, 0, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 7,
      0,
     84|128,10, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_Scope, 18|128,1,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 45,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 24,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 1, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       45,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 24,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 1, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       45,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 24,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 1, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       0,
      18|128,1,
       OPC_CheckPredicate, 21,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 45,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 25,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 2, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       45,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 25,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 2, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       45,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 25,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 2, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       0,
      49,
       OPC_CheckPredicate, 20,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_EmitConvertToTarget4,
       OPC_EmitNodeXForm, 3, 7,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 8,
      18|128,1,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 45,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       45,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       45,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       0,
      18|128,1,
       OPC_CheckPredicate, 21,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 45,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       45,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       45,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       0,
      49,
       OPC_CheckPredicate, 20,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 11,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_EmitConvertToTarget4,
       OPC_EmitNodeXForm, 0, 7,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 8,
      12|128,1,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 43,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 24,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 1, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       43,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 24,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 1, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       43,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 24,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 1, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       0,
      12|128,1,
       OPC_CheckPredicate, 21,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 43,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 25,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 2, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       43,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 25,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 2, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       43,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 25,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 2, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       0,
      47,
       OPC_CheckPredicate, 20,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 43,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_EmitConvertToTarget4,
       OPC_EmitNodeXForm, 3, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 7,
      12|128,1,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 43,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       43,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       43,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate1,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       0,
      12|128,1,
       OPC_CheckPredicate, 21,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 43,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       43,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       43,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate2,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 11,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 0, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       0,
      47,
       OPC_CheckPredicate, 20,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 11,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_EmitConvertToTarget4,
       OPC_EmitNodeXForm, 0, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 7,
      0,
     0,
    49|128,4,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI32,
     OPC_CheckPredicate6,
     OPC_Scope, 39,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 24,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 1, 6,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 7,
     39,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 24,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 1, 6,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 7,
     39,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 24,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 1, 6,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 7,
     39,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 25,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 2, 6,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 7,
     39,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 25,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 2, 6,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 7,
     39,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 25,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 2, 6,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 7,
     37,
      OPC_CheckPredicate, 13,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 43,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 3, 6,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 7,
     39,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 0, 6,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 7,
     39,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 0, 6,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 7,
     39,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 0, 6,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 7,
     39,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 0, 6,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 7,
     39,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 0, 6,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 7,
     39,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 0, 6,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 7,
     37,
      OPC_CheckPredicate, 13,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 0, 6,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 7,
     0,
    73|128,4,
     OPC_MoveChild1,
     OPC_SwitchOpcode , 36|128,2, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_Scope, 120,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 36,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       36,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       36,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       0,
      120,
       OPC_CheckPredicate, 21,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 36,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       36,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       36,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       0,
      41,
       OPC_CheckPredicate, 20,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 13,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      0,
     26|128,2, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_Scope, 116,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 35,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       35,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       35,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       0,
      116,
       OPC_CheckPredicate, 21,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 35,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       35,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       35,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       0,
      39,
       OPC_CheckPredicate, 20,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 13,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      0,
     0,
    21|128,4,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI32,
     OPC_CheckPredicate6,
     OPC_Scope, 37,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 24,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 6,
     37,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 24,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 6,
     37,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 24,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 1, 5,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 6,
     37,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 25,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 2, 5,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 6,
     37,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 25,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 2, 5,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 6,
     37,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 25,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 2, 5,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 6,
     35,
      OPC_CheckPredicate, 13,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 43,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 3, 5,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iadd_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 6,
     37,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 0, 5,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 6,
     37,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 0, 5,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 6,
     37,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 0, 5,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 6,
     37,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 0, 5,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 6,
     37,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 0, 5,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 6,
     37,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate2,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 0, 5,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 6,
     35,
      OPC_CheckPredicate, 13,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 0, 5,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_isub_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 6,
     0,
    45|128,4,
     OPC_MoveChild1,
     OPC_SwitchOpcode , 22|128,2, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_Scope, 114,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 34,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       34,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       34,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       0,
      114,
       OPC_CheckPredicate, 21,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 34,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       34,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       34,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       0,
      39,
       OPC_CheckPredicate, 20,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 13,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 4,
      0,
     12|128,2, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_Scope, 110,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 33,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       33,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       33,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       0,
      110,
       OPC_CheckPredicate, 21,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 33,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       33,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       33,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       0,
      37,
       OPC_CheckPredicate, 20,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 13,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 4,
      0,
     0,
    23|128,3,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI32,
     OPC_CheckPredicate6,
     OPC_Scope, 29,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     29,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     29,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     29,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     29,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     29,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     27,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     27,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     27,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     27,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     27,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     27,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     27,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     25,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_sub_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     0,
    0,
   19|128,40, TARGET_VAL(ISD::AND),
    OPC_Scope, 77|128,15,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_Scope, 123|128,10,
      OPC_MoveChild1,
      OPC_SwitchOpcode , 66|128,5, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_Scope, 22|128,1,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 46,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 36,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 4, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        46,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 36,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 4, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        46,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 36,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 4, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        0,
       22|128,1,
        OPC_CheckPredicate, 21,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 46,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 37,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 5, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        46,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 37,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 5, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        46,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 37,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 5, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        0,
       51,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_CheckPredicate, 13,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 49,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate7,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 6, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       16|128,1,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 44,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 36,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 4, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        44,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 36,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 4, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        44,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 36,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 4, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        0,
       16|128,1,
        OPC_CheckPredicate, 21,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 44,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 37,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 5, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        44,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 37,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 5, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        44,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 37,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 5, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        0,
       49,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_CheckPredicate, 13,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 49,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate7,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 6, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       0,
      46|128,5, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_Scope, 18|128,1,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 45,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 36,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 4, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        45,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 36,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 4, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        45,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 36,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 4, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        0,
       18|128,1,
        OPC_CheckPredicate, 21,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 45,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 37,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 5, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        45,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 37,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 5, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        45,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 37,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 5, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        0,
       49,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_CheckPredicate, 13,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 49,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate7,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 6, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       12|128,1,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 43,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 36,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 4, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        43,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 36,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 4, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        43,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 36,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 4, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        0,
       12|128,1,
        OPC_CheckPredicate, 21,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 43,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 37,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 5, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        43,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 37,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 5, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        43,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 37,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 5, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        0,
       47,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_CheckPredicate, 13,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 49,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate7,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 6, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       0,
      0,
     27|128,2,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI32,
      OPC_CheckPredicate6,
      OPC_Scope, 39,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 36,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 4, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      39,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 36,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 4, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      39,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 36,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 4, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      39,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 37,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 5, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      39,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 37,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 5, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      39,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 37,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 5, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      37,
       OPC_CheckPredicate, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 49,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 6, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      0,
     40|128,2,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_Scope, 120,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 36,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       36,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       36,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       0,
      120,
       OPC_CheckPredicate, 21,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 36,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       36,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       36,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       0,
      41,
       OPC_CheckPredicate, 20,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 13,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      0,
     0,
    41|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 117,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 35,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      35,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      35,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      0,
     117,
      OPC_CheckPredicate, 21,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 35,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      35,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      35,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      0,
     40,
      OPC_CheckPredicate, 20,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_CheckChild0Same, 3,
      OPC_CheckChild1Same, 4,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitConvertToTarget4,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 6, 1,
     0,
    37|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 116,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 35,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      35,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      35,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      0,
     116,
      OPC_CheckPredicate, 21,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 35,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      35,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      35,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      0,
     39,
      OPC_CheckPredicate, 20,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 3,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 6, 4,
     0,
    31|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 113,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 34,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      34,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      34,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      0,
     113,
      OPC_CheckPredicate, 21,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 34,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      34,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      34,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      0,
     38,
      OPC_CheckPredicate, 20,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckChild0Same, 3,
      OPC_CheckChild1Same, 4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitConvertToTarget4,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 6, 1,
     0,
    52|128,4,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_Scope, 13|128,2,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI32,
      OPC_CheckPredicate6,
      OPC_Scope, 37,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 36,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 4, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      37,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 36,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 4, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      37,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 36,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 4, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      37,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 37,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 5, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      37,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 37,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 5, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      37,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 37,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 5, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      35,
       OPC_CheckPredicate, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 49,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 6, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_iand_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      0,
     26|128,2,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_Scope, 114,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 34,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       34,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       34,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       0,
      114,
       OPC_CheckPredicate, 21,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 34,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       34,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       34,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       0,
      39,
       OPC_CheckPredicate, 20,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 13,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 4,
      0,
     0,
    27|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 111,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 33,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      33,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      33,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      0,
     111,
      OPC_CheckPredicate, 21,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 33,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      33,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      33,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      0,
     38,
      OPC_CheckPredicate, 20,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_CheckChild0Same, 3,
      OPC_CheckChild1Same, 4,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitConvertToTarget4,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 5, 1,
     0,
    23|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 110,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 33,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 4,
      33,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 4,
      33,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 4,
      0,
     110,
      OPC_CheckPredicate, 21,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 33,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 4,
      33,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 4,
      33,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 4,
      0,
     37,
      OPC_CheckPredicate, 20,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 3,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 5, 4,
     0,
    17|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 107,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 32,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      32,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      32,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      0,
     107,
      OPC_CheckPredicate, 21,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 32,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      32,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      32,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      0,
     36,
      OPC_CheckPredicate, 20,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckChild0Same, 3,
      OPC_CheckChild1Same, 4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitConvertToTarget4,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 5, 1,
     0,
    92|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI32,
     OPC_CheckPredicate6,
     OPC_Scope, 29,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     29,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     29,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     29,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     29,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     29,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     27,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     0,
    86|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI32,
     OPC_CheckPredicate6,
     OPC_Scope, 28,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     28,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     28,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     28,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     28,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     28,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     26,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     0,
    78|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI32,
     OPC_CheckPredicate6,
     OPC_Scope, 27,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     27,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     27,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     27,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     27,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     27,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     25,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     0,
    72|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI32,
     OPC_CheckPredicate6,
     OPC_Scope, 26,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     26,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     26,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     26,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     26,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     26,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     24,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_and_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     0,
    0,
   19|128,40, TARGET_VAL(ISD::OR),
    OPC_Scope, 77|128,15,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_Scope, 123|128,10,
      OPC_MoveChild1,
      OPC_SwitchOpcode , 66|128,5, TARGET_VAL(ISD::OR),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_Scope, 22|128,1,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 46,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 7, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        46,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 7, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        46,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 7, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        0,
       22|128,1,
        OPC_CheckPredicate, 21,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 46,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 8, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        46,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 8, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        46,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 8, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        0,
       51,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_CheckPredicate, 13,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 23,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate7,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 9, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       16|128,1,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 44,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 7, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        44,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 7, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        44,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 7, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        0,
       16|128,1,
        OPC_CheckPredicate, 21,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 44,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 8, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        44,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 8, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        44,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::OR),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckPredicate4,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 8, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        0,
       49,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_CheckPredicate, 13,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 23,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate7,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 9, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       0,
      46|128,5, TARGET_VAL(ISD::ADD),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_Scope, 18|128,1,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 45,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 7, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        45,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 7, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        45,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 7, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        0,
       18|128,1,
        OPC_CheckPredicate, 21,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 45,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 8, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        45,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 8, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        45,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 8, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 6, 8,
        0,
       49,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_CheckPredicate, 13,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 23,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate7,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 9, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 8,
       12|128,1,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 43,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 7, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        43,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 7, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        43,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate1,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate1,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 7, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        0,
       12|128,1,
        OPC_CheckPredicate, 21,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_Scope, 43,
         OPC_CheckPredicate, 10,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 8, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        43,
         OPC_CheckPredicate, 9,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 8, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        43,
         OPC_CheckPredicate, 8,
         OPC_CheckPredicate2,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
         OPC_RecordNode,
         OPC_CheckPredicate, 23,
         OPC_MoveParent,
         OPC_CheckTypeI32,
         OPC_MoveSibling2,
         OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
         OPC_CheckChild0Same, 2,
         OPC_CheckChild1Same, 3,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_CheckPredicate0,
         OPC_CheckPredicate3,
         OPC_CheckPredicate2,
         OPC_CheckPatternPredicate1,
         OPC_EmitMergeInputChains, 2, 0, 1,
         OPC_EmitConvertToTarget3,
         OPC_EmitConvertToTarget4,
         OPC_EmitNodeXForm, 8, 6,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 5, 7,
        0,
       47,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate6,
        OPC_CheckPredicate, 13,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_RecordNode,
        OPC_CheckPredicate, 23,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate7,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_EmitConvertToTarget4,
        OPC_EmitNodeXForm, 9, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 7,
       0,
      0,
     27|128,2,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI32,
      OPC_CheckPredicate6,
      OPC_Scope, 39,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 23,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 7, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      39,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 23,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 7, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      39,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 23,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 7, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      39,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 23,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 8, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      39,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 23,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 8, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      39,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 23,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 8, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      37,
       OPC_CheckPredicate, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 23,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 9, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 7,
      0,
     40|128,2,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_Scope, 120,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 36,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       36,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       36,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       0,
      120,
       OPC_CheckPredicate, 21,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 36,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       36,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       36,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       0,
      41,
       OPC_CheckPredicate, 20,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 13,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      0,
     0,
    41|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 117,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 35,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      35,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      35,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      0,
     117,
      OPC_CheckPredicate, 21,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 35,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      35,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      35,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      0,
     40,
      OPC_CheckPredicate, 20,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_CheckChild0Same, 3,
      OPC_CheckChild1Same, 4,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitConvertToTarget4,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 6, 1,
     0,
    37|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 116,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 35,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      35,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      35,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      0,
     116,
      OPC_CheckPredicate, 21,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 35,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      35,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      35,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      0,
     39,
      OPC_CheckPredicate, 20,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 3,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 6, 4,
     0,
    31|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 113,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 34,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      34,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      34,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      0,
     113,
      OPC_CheckPredicate, 21,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 34,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      34,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      34,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 1,
      0,
     38,
      OPC_CheckPredicate, 20,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckChild0Same, 3,
      OPC_CheckChild1Same, 4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitConvertToTarget4,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 6, 1,
     0,
    52|128,4,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_Scope, 13|128,2,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI32,
      OPC_CheckPredicate6,
      OPC_Scope, 37,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 23,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 7, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      37,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 23,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 7, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      37,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 23,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 7, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      37,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 23,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 8, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      37,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 23,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 8, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      37,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 23,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 8, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      35,
       OPC_CheckPredicate, 13,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_RecordNode,
       OPC_CheckPredicate, 23,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild2Same, 2,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 9, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_ior_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 6,
      0,
     26|128,2,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_Scope, 114,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 34,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       34,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       34,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       0,
      114,
       OPC_CheckPredicate, 21,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_Scope, 34,
        OPC_CheckPredicate, 10,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       34,
        OPC_CheckPredicate, 9,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       34,
        OPC_CheckPredicate, 8,
        OPC_CheckPredicate2,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveSibling2,
        OPC_CheckOpcode, TARGET_VAL(ISD::OR),
        OPC_CheckChild0Same, 2,
        OPC_CheckChild1Same, 3,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPatternPredicate1,
        OPC_EmitMergeInputChains, 2, 0, 1,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       0,
      39,
       OPC_CheckPredicate, 20,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 13,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 4,
      0,
     0,
    27|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 111,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 33,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      33,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      33,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      0,
     111,
      OPC_CheckPredicate, 21,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 33,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      33,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      33,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      0,
     38,
      OPC_CheckPredicate, 20,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_CheckChild0Same, 3,
      OPC_CheckChild1Same, 4,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitConvertToTarget4,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 5, 1,
     0,
    23|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 110,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 33,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 4,
      33,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 4,
      33,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 4,
      0,
     110,
      OPC_CheckPredicate, 21,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 33,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 4,
      33,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 4,
      33,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 2,
       OPC_CheckChild1Same, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 5, 4,
      0,
     37,
      OPC_CheckPredicate, 20,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckChild0Same, 2,
      OPC_CheckChild1Same, 3,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 5, 4,
     0,
    17|128,2,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 107,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 32,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      32,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      32,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      0,
     107,
      OPC_CheckPredicate, 21,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_Scope, 32,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      32,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      32,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 3,
       OPC_CheckChild1Same, 4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate1,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 5, 1,
      0,
     36,
      OPC_CheckPredicate, 20,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckChild0Same, 3,
      OPC_CheckChild1Same, 4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitConvertToTarget4,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 5, 1,
     0,
    92|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI32,
     OPC_CheckPredicate6,
     OPC_Scope, 29,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     29,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     29,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     29,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     29,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     29,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     27,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     0,
    86|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI32,
     OPC_CheckPredicate6,
     OPC_Scope, 28,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     28,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     28,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     28,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     28,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     28,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     26,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     0,
    78|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI32,
     OPC_CheckPredicate6,
     OPC_Scope, 27,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     27,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     27,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     27,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     27,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     27,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     25,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 2,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 3,
     0,
    72|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI32,
     OPC_CheckPredicate6,
     OPC_Scope, 26,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     26,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     26,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate1,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     26,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     26,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     26,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate2,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate3,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memoph_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     24,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild2Same, 3,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckPatternPredicate1,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::L4_or_memopw_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     0,
    0,
   0,
  73|128,108,
   OPC_RecordChild1,
   OPC_Scope, 14|128,11,
    OPC_CheckChild1TypeI64,
    OPC_Scope, 38,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 70,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_addi),
                     MVT::i32, 2, 2, 4,
     OPC_EmitNodeXForm, 10, 3,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 5, 6, 1,
    97,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_Scope, 11,
      OPC_CheckPredicate7,
      OPC_CheckComplexPat6, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerdgp), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 3, 1,
     67,
      OPC_CheckPredicate3,
      OPC_Scope, 20,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat6, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 1, 4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerbgp), 0|OPFL_Chain|OPFL_MemRefs,
                       2, 3, 5,
      20,
       OPC_CheckPredicate2,
       OPC_CheckComplexPat6, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 1, 4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerhgp), 0|OPFL_Chain|OPFL_MemRefs,
                       2, 3, 5,
      21,
       OPC_CheckPredicate, 15,
       OPC_CheckComplexPat6, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 1, 4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerigp), 0|OPFL_Chain|OPFL_MemRefs,
                       2, 3, 5,
      0,
     11,
      OPC_CheckPredicate7,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_storerdabs), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 3, 1,
     0,
    74,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_Scope, 33,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 22,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckComplexPat4, /*#*/4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerd_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 2, 6, 5, 1,
     33,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 22,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget4,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerd_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 3, 6, 5, 1,
     0,
    70,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate3,
     OPC_Scope, 20,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 4,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_storerbabs), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 3, 5,
     20,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 4,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_storerhabs), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 3, 5,
     21,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 1, 4,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_storeriabs), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 3, 5,
     0,
    21|128,1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 103, TARGET_VAL(ISD::ADD),
      OPC_Scope, 31,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 2, 3, 5, 1,
      31,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 4, 2, 5, 1,
      36,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_Scope, 13,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat3, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckComplexPat3, /*#*/2,
        OPC_CheckComplexPat0, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 4, 1,
       0,
      0,
     37, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 13,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      13,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 1,
      0,
     0,
    17,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    86|128,5,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 102|128,2, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_Scope, 31,
       OPC_CheckPredicate7,
       OPC_Scope, 13,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat4, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckComplexPat4, /*#*/2,
        OPC_CheckComplexPat0, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 4, 1,
       0,
      21|128,1,
       OPC_CheckPredicate3,
       OPC_Scope, 23,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat2, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 7,
       23,
        OPC_CheckPredicate2,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat5, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 7,
       24,
        OPC_CheckPredicate, 15,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat1, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 7,
       23,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat2, /*#*/2,
        OPC_CheckComplexPat0, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 4, 7,
       23,
        OPC_CheckPredicate2,
        OPC_CheckComplexPat5, /*#*/2,
        OPC_CheckComplexPat0, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 4, 7,
       24,
        OPC_CheckPredicate, 15,
        OPC_CheckComplexPat1, /*#*/2,
        OPC_CheckComplexPat0, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 4, 7,
       0,
      27,
       OPC_CheckPredicate7,
       OPC_Scope, 11,
        OPC_CheckComplexPat4, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       11,
        OPC_CheckComplexPat4, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 3, 4, 1,
       0,
      9|128,1,
       OPC_CheckPredicate3,
       OPC_Scope, 21,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat2, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 5,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 6,
       21,
        OPC_CheckPredicate2,
        OPC_CheckComplexPat5, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 5,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 6,
       22,
        OPC_CheckPredicate, 15,
        OPC_CheckComplexPat1, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 5,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 6,
       21,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat2, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 5,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 3, 4, 6,
       21,
        OPC_CheckPredicate2,
        OPC_CheckComplexPat5, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 5,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 3, 4, 6,
       22,
        OPC_CheckPredicate, 15,
        OPC_CheckComplexPat1, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 5,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 3, 4, 6,
       0,
      0,
     101|128,2, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_Scope, 31,
       OPC_CheckPredicate7,
       OPC_Scope, 13,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat4, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckComplexPat4, /*#*/2,
        OPC_CheckComplexPat0, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 4, 1,
       0,
      21|128,1,
       OPC_CheckPredicate3,
       OPC_Scope, 23,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat2, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 7,
       23,
        OPC_CheckPredicate2,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat5, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 7,
       24,
        OPC_CheckPredicate, 15,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat1, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 7,
       23,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat2, /*#*/2,
        OPC_CheckComplexPat0, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 4, 7,
       23,
        OPC_CheckPredicate2,
        OPC_CheckComplexPat5, /*#*/2,
        OPC_CheckComplexPat0, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 4, 7,
       24,
        OPC_CheckPredicate, 15,
        OPC_CheckComplexPat1, /*#*/2,
        OPC_CheckComplexPat0, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 6,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 4, 7,
       0,
      27,
       OPC_CheckPredicate7,
       OPC_Scope, 11,
        OPC_CheckComplexPat4, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       11,
        OPC_CheckComplexPat4, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 3, 4, 1,
       0,
      9|128,1,
       OPC_CheckPredicate3,
       OPC_Scope, 21,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat2, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 5,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 6,
       21,
        OPC_CheckPredicate2,
        OPC_CheckComplexPat5, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 5,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 6,
       22,
        OPC_CheckPredicate, 15,
        OPC_CheckComplexPat1, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 5,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 6,
       21,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat2, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 5,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 3, 4, 6,
       21,
        OPC_CheckPredicate2,
        OPC_CheckComplexPat5, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 5,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 3, 4, 6,
       22,
        OPC_CheckPredicate, 15,
        OPC_CheckComplexPat1, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 5,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 3, 4, 6,
       0,
      0,
     0,
    97,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_Scope, 14,
      OPC_CheckPredicate7,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     76,
      OPC_CheckPredicate3,
      OPC_Scope, 23,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 1, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 6,
      23,
       OPC_CheckPredicate2,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 1, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 6,
      24,
       OPC_CheckPredicate, 15,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::i32, 2, 1, 5,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 6,
      0,
     0,
    22,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 2, 3, 4, 1,
    117,
     OPC_RecordChild2,
     OPC_Scope, 88,
      OPC_CheckChild2TypeI32,
      OPC_CheckPredicate0,
      OPC_Scope, 12,
       OPC_CheckPredicate7,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      70,
       OPC_CheckPredicate3,
       OPC_Scope, 21,
        OPC_CheckPredicate1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 3, 5,
       21,
        OPC_CheckPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 3, 5,
       22,
        OPC_CheckPredicate, 15,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 1, 4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 3, 5,
       0,
      0,
     24,
      OPC_RecordChild3,
      OPC_MoveChild3,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 63,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate7,
      OPC_CheckPredicate, 54,
      OPC_CheckTypeI32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::S2_storerd_pi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 2, 4, 1,
     0,
    0,
   3|128,20,
    OPC_CheckChild1TypeI32,
    OPC_Scope, 112|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_Scope, 55,
      OPC_CheckPredicate3,
      OPC_Scope, 25,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat7, /*#*/1,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNodeXForm, 11, 3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 7,
      25,
       OPC_CheckPredicate2,
       OPC_CheckComplexPat7, /*#*/1,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNodeXForm, 12, 3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirh_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 7,
      0,
     25,
      OPC_CheckPredicate7,
      OPC_CheckComplexPat7, /*#*/1,
      OPC_CheckComplexPat3, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 4,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNodeXForm, 13, 3,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeiri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 6, 7,
     49,
      OPC_CheckPredicate3,
      OPC_Scope, 22,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat3, /*#*/1,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 4,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 3,
      22,
       OPC_CheckPredicate2,
       OPC_CheckComplexPat3, /*#*/1,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 4,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirh_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 3,
      0,
     22,
      OPC_CheckPredicate7,
      OPC_CheckComplexPat3, /*#*/1,
      OPC_CheckComplexPat3, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 4,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeiri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 6, 3,
     27,
      OPC_CheckPredicate3,
      OPC_Scope, 11,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat6, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerbgp), 0|OPFL_Chain|OPFL_MemRefs,
                       2, 3, 1,
      11,
       OPC_CheckPredicate2,
       OPC_CheckComplexPat6, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerhgp), 0|OPFL_Chain|OPFL_MemRefs,
                       2, 3, 1,
      0,
     11,
      OPC_CheckPredicate7,
      OPC_CheckComplexPat6, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerigp), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 3, 1,
     27,
      OPC_CheckPredicate3,
      OPC_Scope, 11,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_storerbabs), 0|OPFL_Chain|OPFL_MemRefs,
                       2, 3, 1,
      11,
       OPC_CheckPredicate2,
       OPC_CheckComplexPat5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_storerhabs), 0|OPFL_Chain|OPFL_MemRefs,
                       2, 3, 1,
      0,
     11,
      OPC_CheckPredicate7,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_storeriabs), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 3, 1,
     0,
    20|128,6,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 127|128,3, TARGET_VAL(ISD::ADD),
      OPC_Scope, 70,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_Scope, 33,
        OPC_CheckPredicate3,
        OPC_Scope, 14,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat2, /*#*/4,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget3,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerb_ur), 0|OPFL_Chain|OPFL_MemRefs,
                         4, 2, 6, 5, 1,
        14,
         OPC_CheckPredicate2,
         OPC_CheckComplexPat5, /*#*/4,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget3,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerh_ur), 0|OPFL_Chain|OPFL_MemRefs,
                         4, 2, 6, 5, 1,
        0,
       14,
        OPC_CheckPredicate7,
        OPC_CheckComplexPat1, /*#*/4,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeri_ur), 0|OPFL_Chain|OPFL_MemRefs,
                        4, 2, 6, 5, 1,
       0,
      113,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_Scope, 33,
        OPC_CheckPredicate3,
        OPC_Scope, 14,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat2, /*#*/2,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget4,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerb_ur), 0|OPFL_Chain|OPFL_MemRefs,
                         4, 3, 6, 5, 1,
        14,
         OPC_CheckPredicate2,
         OPC_CheckComplexPat5, /*#*/2,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget4,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerh_ur), 0|OPFL_Chain|OPFL_MemRefs,
                         4, 3, 6, 5, 1,
        0,
       14,
        OPC_CheckPredicate7,
        OPC_CheckComplexPat1, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeri_ur), 0|OPFL_Chain|OPFL_MemRefs,
                        4, 3, 6, 5, 1,
       29,
        OPC_CheckPredicate3,
        OPC_Scope, 12,
         OPC_CheckPredicate1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget4,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerb_rr), 0|OPFL_Chain|OPFL_MemRefs,
                         4, 2, 3, 5, 1,
        12,
         OPC_CheckPredicate2,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget4,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerh_rr), 0|OPFL_Chain|OPFL_MemRefs,
                         4, 2, 3, 5, 1,
        0,
       12,
        OPC_CheckPredicate7,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                        4, 2, 3, 5, 1,
       0,
      64,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_Scope, 29,
        OPC_CheckPredicate3,
        OPC_Scope, 12,
         OPC_CheckPredicate1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget3,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerb_rr), 0|OPFL_Chain|OPFL_MemRefs,
                         4, 4, 2, 5, 1,
        12,
         OPC_CheckPredicate2,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitConvertToTarget3,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerh_rr), 0|OPFL_Chain|OPFL_MemRefs,
                         4, 4, 2, 5, 1,
        0,
       12,
        OPC_CheckPredicate7,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                        4, 4, 2, 5, 1,
       0,
      1|128,2,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_Scope, 27,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPredicate, 38,
        OPC_CheckComplexPat7, /*#*/1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_EmitNodeXForm, 11, 4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 7,
       27,
        OPC_CheckPredicate, 21,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPredicate, 38,
        OPC_CheckComplexPat7, /*#*/1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_EmitNodeXForm, 12, 4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirh_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 7,
       26,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate7,
        OPC_CheckPredicate, 38,
        OPC_CheckComplexPat7, /*#*/1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_EmitNodeXForm, 13, 4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeiri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 7,
       24,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPredicate, 38,
        OPC_CheckComplexPat3, /*#*/1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       24,
        OPC_CheckPredicate, 21,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPredicate, 38,
        OPC_CheckComplexPat3, /*#*/1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirh_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       23,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate7,
        OPC_CheckPredicate, 38,
        OPC_CheckComplexPat3, /*#*/1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeiri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 4,
       30,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckPredicate, 47,
        OPC_CheckComplexPat3, /*#*/1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 7,
       30,
        OPC_CheckPredicate, 21,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckPredicate, 47,
        OPC_CheckComplexPat3, /*#*/1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 7,
       29,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate7,
        OPC_CheckPredicate, 47,
        OPC_CheckComplexPat3, /*#*/1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 6, 7,
       0,
      0,
     10|128,2, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_Scope, 28,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate, 38,
       OPC_CheckComplexPat7, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 11, 4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 7,
      28,
       OPC_CheckPredicate, 21,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPredicate, 38,
       OPC_CheckComplexPat7, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 12, 4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirh_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 7,
      27,
       OPC_CheckPredicate, 20,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPredicate, 38,
       OPC_CheckComplexPat7, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 13, 4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeiri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 7,
      25,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate, 38,
       OPC_CheckComplexPat3, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      25,
       OPC_CheckPredicate, 21,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPredicate, 38,
       OPC_CheckComplexPat3, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirh_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      24,
       OPC_CheckPredicate, 20,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPredicate, 38,
       OPC_CheckComplexPat3, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeiri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 4,
      31,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate1,
       OPC_CheckPredicate, 47,
       OPC_CheckComplexPat3, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 7,
      31,
       OPC_CheckPredicate, 21,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate3,
       OPC_CheckPredicate2,
       OPC_CheckPredicate, 47,
       OPC_CheckComplexPat3, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 7,
      30,
       OPC_CheckPredicate, 20,
       OPC_MoveParent,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckPredicate, 47,
       OPC_CheckComplexPat3, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 4,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 6, 7,
      0,
     0,
    87|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_Scope, 47,
      OPC_CheckPredicate3,
      OPC_Scope, 21,
       OPC_CheckPredicate1,
       OPC_CheckPredicate, 38,
       OPC_CheckComplexPat7, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNodeXForm, 11, 3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 6,
      21,
       OPC_CheckPredicate2,
       OPC_CheckPredicate, 38,
       OPC_CheckComplexPat7, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNodeXForm, 12, 3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirh_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 6,
      0,
     21,
      OPC_CheckPredicate7,
      OPC_CheckPredicate, 38,
      OPC_CheckComplexPat7, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNodeXForm, 13, 3,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeiri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 6,
     41,
      OPC_CheckPredicate3,
      OPC_Scope, 18,
       OPC_CheckPredicate1,
       OPC_CheckPredicate, 38,
       OPC_CheckComplexPat3, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 3,
      18,
       OPC_CheckPredicate2,
       OPC_CheckPredicate, 38,
       OPC_CheckComplexPat3, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirh_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 3,
      0,
     18,
      OPC_CheckPredicate7,
      OPC_CheckPredicate, 38,
      OPC_CheckComplexPat3, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeiri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 3,
     53,
      OPC_CheckPredicate3,
      OPC_Scope, 24,
       OPC_CheckPredicate1,
       OPC_CheckPredicate, 47,
       OPC_CheckComplexPat3, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 6,
      24,
       OPC_CheckPredicate2,
       OPC_CheckPredicate, 47,
       OPC_CheckComplexPat3, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 6,
      0,
     24,
      OPC_CheckPredicate7,
      OPC_CheckPredicate, 47,
      OPC_CheckComplexPat3, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 3,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 6,
     0,
    92|128,1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 106, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_Scope, 33,
       OPC_CheckPredicate3,
       OPC_Scope, 14,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat3, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       14,
        OPC_CheckPredicate2,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat3, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      14,
       OPC_CheckPredicate7,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      33,
       OPC_CheckPredicate3,
       OPC_Scope, 14,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat3, /*#*/2,
        OPC_CheckComplexPat0, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 4, 1,
       14,
        OPC_CheckPredicate2,
        OPC_CheckComplexPat3, /*#*/2,
        OPC_CheckComplexPat0, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 4, 1,
       0,
      14,
       OPC_CheckPredicate7,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 1,
      0,
     105, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_Scope, 33,
       OPC_CheckPredicate3,
       OPC_Scope, 14,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat3, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       14,
        OPC_CheckPredicate2,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat3, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      14,
       OPC_CheckPredicate7,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      33,
       OPC_CheckPredicate3,
       OPC_Scope, 14,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat3, /*#*/2,
        OPC_CheckComplexPat0, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 4, 1,
       14,
        OPC_CheckPredicate2,
        OPC_CheckComplexPat3, /*#*/2,
        OPC_CheckComplexPat0, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 4, 1,
       0,
      14,
       OPC_CheckPredicate7,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 1,
      0,
     0,
    54,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_Scope, 33,
      OPC_CheckPredicate3,
      OPC_Scope, 14,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      14,
       OPC_CheckPredicate2,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     14,
      OPC_CheckPredicate7,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     0,
    50|128,5,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 87|128,2, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_Scope, 17|128,1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_Scope, 24,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat7, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_EmitNodeXForm, 11, 4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 6,
       24,
        OPC_CheckPredicate, 21,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckComplexPat7, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_EmitNodeXForm, 12, 4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirh_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 6,
       23,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate7,
        OPC_CheckComplexPat7, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_EmitNodeXForm, 13, 4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeiri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 6,
       21,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat3, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       21,
        OPC_CheckPredicate, 21,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckComplexPat3, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirh_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       20,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckPredicate4,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate7,
        OPC_CheckComplexPat3, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeiri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       0,
      62|128,1,
       OPC_CheckPredicate4,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_Scope, 33,
        OPC_CheckPredicate3,
        OPC_Scope, 14,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_CheckComplexPat2, /*#*/3,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 4, 5, 1,
        14,
         OPC_CheckPredicate2,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_CheckComplexPat5, /*#*/3,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 4, 5, 1,
        0,
       14,
        OPC_CheckPredicate7,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat1, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       33,
        OPC_CheckPredicate3,
        OPC_Scope, 14,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat2, /*#*/2,
         OPC_CheckComplexPat0, /*#*/3,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 4, 1,
        14,
         OPC_CheckPredicate2,
         OPC_CheckComplexPat5, /*#*/2,
         OPC_CheckComplexPat0, /*#*/3,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 4, 1,
        0,
       14,
        OPC_CheckPredicate7,
        OPC_CheckComplexPat1, /*#*/2,
        OPC_CheckComplexPat0, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 4, 1,
       29,
        OPC_CheckPredicate3,
        OPC_Scope, 12,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat2, /*#*/3,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 4, 1,
        12,
         OPC_CheckPredicate2,
         OPC_CheckComplexPat5, /*#*/3,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 4, 1,
        0,
       12,
        OPC_CheckPredicate7,
        OPC_CheckComplexPat1, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       29,
        OPC_CheckPredicate3,
        OPC_Scope, 12,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat2, /*#*/2,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 3, 4, 1,
        12,
         OPC_CheckPredicate2,
         OPC_CheckComplexPat5, /*#*/2,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 3, 4, 1,
        0,
       12,
        OPC_CheckPredicate7,
        OPC_CheckComplexPat1, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 3, 4, 1,
       0,
      0,
     80|128,2, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_Scope, 11|128,1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_Scope, 23,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat7, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_EmitNodeXForm, 11, 4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 6,
       23,
        OPC_CheckPredicate, 21,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckComplexPat7, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_EmitNodeXForm, 12, 4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirh_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 6,
       22,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate7,
        OPC_CheckComplexPat7, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_EmitNodeXForm, 13, 4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeiri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 6,
       20,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat3, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       20,
        OPC_CheckPredicate, 21,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate3,
        OPC_CheckPredicate2,
        OPC_CheckComplexPat3, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirh_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       19,
        OPC_CheckPredicate, 20,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate7,
        OPC_CheckComplexPat3, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeiri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 5, 4,
       0,
      61|128,1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_Scope, 33,
        OPC_CheckPredicate3,
        OPC_Scope, 14,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_CheckComplexPat2, /*#*/3,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 4, 5, 1,
        14,
         OPC_CheckPredicate2,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_CheckComplexPat5, /*#*/3,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 4, 5, 1,
        0,
       14,
        OPC_CheckPredicate7,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat1, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       33,
        OPC_CheckPredicate3,
        OPC_Scope, 14,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat2, /*#*/2,
         OPC_CheckComplexPat0, /*#*/3,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 4, 1,
        14,
         OPC_CheckPredicate2,
         OPC_CheckComplexPat5, /*#*/2,
         OPC_CheckComplexPat0, /*#*/3,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 4, 1,
        0,
       14,
        OPC_CheckPredicate7,
        OPC_CheckComplexPat1, /*#*/2,
        OPC_CheckComplexPat0, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 4, 1,
       29,
        OPC_CheckPredicate3,
        OPC_Scope, 12,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat2, /*#*/3,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 4, 1,
        12,
         OPC_CheckPredicate2,
         OPC_CheckComplexPat5, /*#*/3,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 2, 4, 1,
        0,
       12,
        OPC_CheckPredicate7,
        OPC_CheckComplexPat1, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       29,
        OPC_CheckPredicate3,
        OPC_Scope, 12,
         OPC_CheckPredicate1,
         OPC_CheckComplexPat2, /*#*/2,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 3, 4, 1,
        12,
         OPC_CheckPredicate2,
         OPC_CheckComplexPat5, /*#*/2,
         OPC_EmitMergeInputChains1_0,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 3, 4, 1,
        0,
       12,
        OPC_CheckPredicate7,
        OPC_CheckComplexPat1, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 3, 4, 1,
       0,
      0,
     0,
    54,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_Scope, 33,
      OPC_CheckPredicate3,
      OPC_Scope, 14,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      14,
       OPC_CheckPredicate2,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     14,
      OPC_CheckPredicate7,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     0,
    57,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate0,
     OPC_Scope, 31,
      OPC_CheckPredicate3,
      OPC_Scope, 13,
       OPC_CheckPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerb_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 2, 3, 4, 1,
      13,
       OPC_CheckPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerh_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 2, 3, 4, 1,
      0,
     13,
      OPC_CheckPredicate7,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      4, 2, 3, 4, 1,
     0,
    99|128,1,
     OPC_RecordChild2,
     OPC_Scope, 26|128,1,
      OPC_CheckChild2TypeI32,
      OPC_CheckPredicate0,
      OPC_Scope, 39,
       OPC_CheckPredicate3,
       OPC_Scope, 17,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat7, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNodeXForm, 11, 3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 5,
       17,
        OPC_CheckPredicate2,
        OPC_CheckComplexPat7, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNodeXForm, 12, 3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirh_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 5,
       0,
      17,
       OPC_CheckPredicate7,
       OPC_CheckComplexPat7, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNodeXForm, 13, 3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeiri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 5,
      33,
       OPC_CheckPredicate3,
       OPC_Scope, 14,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat3, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 3,
       14,
        OPC_CheckPredicate2,
        OPC_CheckComplexPat3, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeirh_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 3,
       0,
      14,
       OPC_CheckPredicate7,
       OPC_CheckComplexPat3, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeiri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 3,
      29,
       OPC_CheckPredicate3,
       OPC_Scope, 12,
        OPC_CheckPredicate1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 3, 1,
       12,
        OPC_CheckPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 3, 1,
       0,
      12,
       OPC_CheckPredicate7,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      0,
     67,
      OPC_RecordChild3,
      OPC_MoveChild3,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckTypeI32,
      OPC_Scope, 19,
       OPC_CheckPredicate, 64,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckPredicate, 54,
       OPC_CheckPredicate1,
       OPC_CheckTypeI32,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::S2_storerb_pi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 2, 4, 1,
      19,
       OPC_CheckPredicate, 61,
       OPC_MoveParent,
       OPC_CheckPredicate3,
       OPC_CheckPredicate, 54,
       OPC_CheckPredicate2,
       OPC_CheckTypeI32,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::S2_storerh_pi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 2, 4, 1,
      18,
       OPC_CheckPredicate, 65,
       OPC_MoveParent,
       OPC_CheckPredicate7,
       OPC_CheckPredicate, 54,
       OPC_CheckTypeI32,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::S2_storeri_pi), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 2, 4, 1,
      0,
     0,
    0,
   59|128,3,
    OPC_CheckChild1Type, MVT::v4i8,
    OPC_Scope, 28,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_Scope, 10,
      OPC_CheckComplexPat6, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerigp), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 3, 1,
     10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_storeriabs), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 3, 1,
     0,
    73|128,1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 26|128,1, TARGET_VAL(ISD::ADD),
      OPC_Scope, 33,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckComplexPat1, /*#*/4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeri_ur), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 2, 6, 5, 1,
      48,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_Scope, 13,
        OPC_CheckComplexPat1, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeri_ur), 0|OPFL_Chain|OPFL_MemRefs,
                        4, 3, 6, 5, 1,
       11,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                        4, 2, 3, 5, 1,
       0,
      31,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 4, 2, 5, 1,
      36,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_Scope, 13,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat3, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckComplexPat3, /*#*/2,
        OPC_CheckComplexPat0, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 4, 1,
       0,
      0,
     37, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 13,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      13,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 1,
      0,
     0,
    17,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    2|128,1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 61, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 13,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      13,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 1,
      11,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      11,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     60, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 13,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      13,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 1,
      11,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      11,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     0,
    17,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    22,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 2, 3, 4, 1,
    15,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 2, 3, 1,
    0,
   59|128,3,
    OPC_CheckChild1Type, MVT::v2i16,
    OPC_Scope, 28,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_Scope, 10,
      OPC_CheckComplexPat6, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerigp), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 3, 1,
     10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_storeriabs), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 3, 1,
     0,
    73|128,1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 26|128,1, TARGET_VAL(ISD::ADD),
      OPC_Scope, 33,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckComplexPat1, /*#*/4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeri_ur), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 2, 6, 5, 1,
      48,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_Scope, 13,
        OPC_CheckComplexPat1, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeri_ur), 0|OPFL_Chain|OPFL_MemRefs,
                        4, 3, 6, 5, 1,
       11,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                        4, 2, 3, 5, 1,
       0,
      31,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 4, 2, 5, 1,
      36,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_Scope, 13,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat3, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckComplexPat3, /*#*/2,
        OPC_CheckComplexPat0, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 4, 1,
       0,
      0,
     37, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 13,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      13,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 1,
      0,
     0,
    17,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    2|128,1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 61, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 13,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      13,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 1,
      11,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      11,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     60, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 13,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      13,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 1,
      11,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      11,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     0,
    17,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    22,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 2, 3, 4, 1,
    15,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 2, 3, 1,
    0,
   59|128,3,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_Scope, 28,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_Scope, 10,
      OPC_CheckComplexPat6, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerdgp), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 3, 1,
     10,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_storerdabs), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 3, 1,
     0,
    73|128,1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 26|128,1, TARGET_VAL(ISD::ADD),
      OPC_Scope, 33,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckComplexPat4, /*#*/4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerd_ur), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 2, 6, 5, 1,
      48,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_Scope, 13,
        OPC_CheckComplexPat4, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerd_ur), 0|OPFL_Chain|OPFL_MemRefs,
                        4, 3, 6, 5, 1,
       11,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                        4, 2, 3, 5, 1,
       0,
      31,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 4, 2, 5, 1,
      36,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_Scope, 13,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat3, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckComplexPat3, /*#*/2,
        OPC_CheckComplexPat0, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 4, 1,
       0,
      0,
     37, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 13,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      13,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 1,
      0,
     0,
    17,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    2|128,1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 61, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 13,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat4, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      13,
       OPC_CheckComplexPat4, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 1,
      11,
       OPC_CheckComplexPat4, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      11,
       OPC_CheckComplexPat4, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     60, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 13,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat4, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      13,
       OPC_CheckComplexPat4, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 1,
      11,
       OPC_CheckComplexPat4, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      11,
       OPC_CheckComplexPat4, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     0,
    17,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    22,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 2, 3, 4, 1,
    15,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 2, 3, 1,
    0,
   59|128,3,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_Scope, 28,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_Scope, 10,
      OPC_CheckComplexPat6, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerdgp), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 3, 1,
     10,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_storerdabs), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 3, 1,
     0,
    73|128,1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 26|128,1, TARGET_VAL(ISD::ADD),
      OPC_Scope, 33,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckComplexPat4, /*#*/4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerd_ur), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 2, 6, 5, 1,
      48,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_Scope, 13,
        OPC_CheckComplexPat4, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerd_ur), 0|OPFL_Chain|OPFL_MemRefs,
                        4, 3, 6, 5, 1,
       11,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                        4, 2, 3, 5, 1,
       0,
      31,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 4, 2, 5, 1,
      36,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_Scope, 13,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat3, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckComplexPat3, /*#*/2,
        OPC_CheckComplexPat0, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 4, 1,
       0,
      0,
     37, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 13,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      13,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 1,
      0,
     0,
    17,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    2|128,1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 61, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 13,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat4, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      13,
       OPC_CheckComplexPat4, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 1,
      11,
       OPC_CheckComplexPat4, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      11,
       OPC_CheckComplexPat4, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     60, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 13,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat4, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      13,
       OPC_CheckComplexPat4, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 1,
      11,
       OPC_CheckComplexPat4, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      11,
       OPC_CheckComplexPat4, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     0,
    17,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    22,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 2, 3, 4, 1,
    15,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 2, 3, 1,
    0,
   59|128,3,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_Scope, 28,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_Scope, 10,
      OPC_CheckComplexPat6, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerdgp), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 3, 1,
     10,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_storerdabs), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 3, 1,
     0,
    73|128,1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 26|128,1, TARGET_VAL(ISD::ADD),
      OPC_Scope, 33,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckComplexPat4, /*#*/4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerd_ur), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 2, 6, 5, 1,
      48,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_Scope, 13,
        OPC_CheckComplexPat4, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerd_ur), 0|OPFL_Chain|OPFL_MemRefs,
                        4, 3, 6, 5, 1,
       11,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                        4, 2, 3, 5, 1,
       0,
      31,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 4, 2, 5, 1,
      36,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_Scope, 13,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat3, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckComplexPat3, /*#*/2,
        OPC_CheckComplexPat0, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 4, 1,
       0,
      0,
     37, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 13,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      13,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 1,
      0,
     0,
    17,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    2|128,1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 61, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 13,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat4, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      13,
       OPC_CheckComplexPat4, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 1,
      11,
       OPC_CheckComplexPat4, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      11,
       OPC_CheckComplexPat4, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     60, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 13,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat4, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      13,
       OPC_CheckComplexPat4, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 1,
      11,
       OPC_CheckComplexPat4, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      11,
       OPC_CheckComplexPat4, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     0,
    17,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    22,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 2, 3, 4, 1,
    15,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 2, 3, 1,
    0,
   59|128,3,
    OPC_CheckChild1Type, MVT::f32,
    OPC_Scope, 28,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_Scope, 10,
      OPC_CheckComplexPat6, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerigp), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 3, 1,
     10,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_storeriabs), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 3, 1,
     0,
    73|128,1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 26|128,1, TARGET_VAL(ISD::ADD),
      OPC_Scope, 33,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckComplexPat1, /*#*/4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeri_ur), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 2, 6, 5, 1,
      48,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_Scope, 13,
        OPC_CheckComplexPat1, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeri_ur), 0|OPFL_Chain|OPFL_MemRefs,
                        4, 3, 6, 5, 1,
       11,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                        4, 2, 3, 5, 1,
       0,
      31,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 4, 2, 5, 1,
      36,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_Scope, 13,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat3, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckComplexPat3, /*#*/2,
        OPC_CheckComplexPat0, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 4, 1,
       0,
      0,
     37, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 13,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      13,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 1,
      0,
     0,
    17,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    2|128,1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 61, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 13,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      13,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 1,
      11,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      11,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     60, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 13,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      13,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 1,
      11,
       OPC_CheckComplexPat1, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      11,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     0,
    17,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    22,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storeri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 2, 3, 4, 1,
    15,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 2, 3, 1,
    0,
   59|128,3,
    OPC_CheckChild1Type, MVT::f64,
    OPC_Scope, 28,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_Scope, 10,
      OPC_CheckComplexPat6, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerdgp), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 3, 1,
     10,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_storerdabs), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 3, 1,
     0,
    73|128,1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 26|128,1, TARGET_VAL(ISD::ADD),
      OPC_Scope, 33,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckComplexPat4, /*#*/4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerd_ur), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 2, 6, 5, 1,
      48,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_Scope, 13,
        OPC_CheckComplexPat4, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerd_ur), 0|OPFL_Chain|OPFL_MemRefs,
                        4, 3, 6, 5, 1,
       11,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget4,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                        4, 2, 3, 5, 1,
       0,
      31,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 4, 2, 5, 1,
      36,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_Scope, 13,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_CheckComplexPat3, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckComplexPat3, /*#*/2,
        OPC_CheckComplexPat0, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 5, 4, 1,
       0,
      0,
     37, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 13,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      13,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 1,
      0,
     0,
    17,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    2|128,1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 61, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 13,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat4, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      13,
       OPC_CheckComplexPat4, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 1,
      11,
       OPC_CheckComplexPat4, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      11,
       OPC_CheckComplexPat4, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     60, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 13,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat4, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      13,
       OPC_CheckComplexPat4, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 1,
      11,
       OPC_CheckComplexPat4, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      11,
       OPC_CheckComplexPat4, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     0,
    17,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    22,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 2, 3, 4, 1,
    15,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 2, 3, 1,
    0,
   86|128,5,
    OPC_CheckChild1Type, MVT::i1,
    OPC_Scope, 52,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_Scope, 22,
      OPC_CheckComplexPat6, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                      MVT::i32, 3, 1, 4, 5,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerbgp), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 3, 6,
     22,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                      MVT::i32, 3, 1, 4, 5,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_storerbabs), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 3, 6,
     0,
    60|128,2,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 117|128,1, TARGET_VAL(ISD::ADD),
      OPC_Scope, 45,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckComplexPat3, /*#*/4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                       MVT::i32, 3, 1, 7, 8,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerb_ur), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 2, 6, 5, 9,
      45,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitIntegerI32, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                       MVT::i32, 3, 1, 7, 8,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerb_ur), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 3, 6, 5, 9,
      43,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 22,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate0,
       OPC_CheckPredicate7,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                       MVT::i32, 3, 1, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerb_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       4, 4, 2, 5, 8,
      106,
       OPC_RecordChild0,
       OPC_Scope, 42,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
        OPC_RecordChild0,
        OPC_RecordChild1,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
        OPC_CheckPredicate, 22,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate7,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget4,
        OPC_EmitIntegerI32, 1,
        OPC_EmitIntegerI32, 0,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                        MVT::i32, 3, 1, 6, 7,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerb_rr), 0|OPFL_Chain|OPFL_MemRefs,
                        4, 2, 3, 5, 8,
       59,
        OPC_RecordChild1,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckPredicate0,
        OPC_CheckPredicate7,
        OPC_Scope, 25,
         OPC_CheckComplexPat0, /*#*/2,
         OPC_CheckComplexPat3, /*#*/3,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                         MVT::i32, 3, 1, 6, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 4, 5, 8,
        25,
         OPC_CheckComplexPat3, /*#*/2,
         OPC_CheckComplexPat0, /*#*/3,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitIntegerI32, 0,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                         MVT::i32, 3, 1, 6, 7,
         OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                         3, 5, 4, 8,
        0,
       0,
      0,
     61, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 25,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat3, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                       MVT::i32, 3, 1, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 8,
      25,
       OPC_CheckComplexPat3, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                       MVT::i32, 3, 1, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 8,
      0,
     0,
    29,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                     MVT::i32, 3, 1, 5, 6,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 7,
    98|128,1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 109, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 25,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat2, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                       MVT::i32, 3, 1, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 8,
      25,
       OPC_CheckComplexPat2, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                       MVT::i32, 3, 1, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 8,
      23,
       OPC_CheckComplexPat2, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                       MVT::i32, 3, 1, 5, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 7,
      23,
       OPC_CheckComplexPat2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                       MVT::i32, 3, 1, 5, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 7,
      0,
     108, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 25,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_CheckComplexPat2, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                       MVT::i32, 3, 1, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 8,
      25,
       OPC_CheckComplexPat2, /*#*/2,
       OPC_CheckComplexPat0, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                       MVT::i32, 3, 1, 6, 7,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 5, 4, 8,
      23,
       OPC_CheckComplexPat2, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                       MVT::i32, 3, 1, 5, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 7,
      23,
       OPC_CheckComplexPat2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                       MVT::i32, 3, 1, 5, 6,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 7,
      0,
     0,
    29,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                     MVT::i32, 3, 1, 5, 6,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 7,
    34,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                     MVT::i32, 3, 1, 5, 6,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S4_storerb_rr), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 2, 3, 4, 7,
    27,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                     MVT::i32, 3, 1, 4, 5,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 2, 3, 6,
    0,
   126|128,4,
    OPC_CheckChild1Type, MVT::v64i8,
    OPC_Scope, 38|128,3,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 78|128,1, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 34,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_Scope, 13,
        OPC_CheckPatternPredicate2,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckPatternPredicate3,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      32,
       OPC_CheckPredicate, 16,
       OPC_Scope, 13,
        OPC_CheckPatternPredicate2,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckPatternPredicate3,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      32,
       OPC_CheckPredicate, 17,
       OPC_Scope, 13,
        OPC_CheckPatternPredicate2,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckPatternPredicate3,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      30,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       11,
        OPC_CheckPatternPredicate3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      28,
       OPC_CheckPredicate, 16,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       11,
        OPC_CheckPatternPredicate3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      28,
       OPC_CheckPredicate, 17,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       11,
        OPC_CheckPatternPredicate3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      0,
     77|128,1, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 34,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_Scope, 13,
        OPC_CheckPatternPredicate2,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckPatternPredicate3,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      32,
       OPC_CheckPredicate, 16,
       OPC_Scope, 13,
        OPC_CheckPatternPredicate2,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckPatternPredicate3,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      32,
       OPC_CheckPredicate, 17,
       OPC_Scope, 13,
        OPC_CheckPatternPredicate2,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckPatternPredicate3,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      30,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       11,
        OPC_CheckPatternPredicate3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      28,
       OPC_CheckPredicate, 16,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       11,
        OPC_CheckPatternPredicate3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      28,
       OPC_CheckPredicate, 17,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       11,
        OPC_CheckPatternPredicate3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      0,
     0,
    80|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_Scope, 36,
      OPC_CheckPredicate, 18,
      OPC_CheckPredicate, 19,
      OPC_Scope, 14,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      14,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     34,
      OPC_CheckPredicate, 16,
      OPC_Scope, 14,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      14,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     34,
      OPC_CheckPredicate, 17,
      OPC_Scope, 14,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      14,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     32,
      OPC_CheckPredicate, 18,
      OPC_CheckPredicate, 19,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      12,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      0,
     30,
      OPC_CheckPredicate, 16,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      12,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      0,
     30,
      OPC_CheckPredicate, 17,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      12,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      0,
     0,
    0,
   85|128,2,
    OPC_CheckChild1Type, MVT::v128i8,
    OPC_Scope, 100|128,1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 110, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 17,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      15,
       OPC_CheckPredicate, 16,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      15,
       OPC_CheckPredicate, 17,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      15,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_CheckPatternPredicate4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      13,
       OPC_CheckPredicate, 16,
       OPC_CheckPatternPredicate4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      13,
       OPC_CheckPredicate, 17,
       OPC_CheckPatternPredicate4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      0,
     109, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 17,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      15,
       OPC_CheckPredicate, 16,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      15,
       OPC_CheckPredicate, 17,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      15,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_CheckPatternPredicate4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      13,
       OPC_CheckPredicate, 16,
       OPC_CheckPatternPredicate4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      13,
       OPC_CheckPredicate, 17,
       OPC_CheckPatternPredicate4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      0,
     0,
    106,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_Scope, 18,
      OPC_CheckPredicate, 18,
      OPC_CheckPredicate, 19,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     16,
      OPC_CheckPredicate, 16,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     16,
      OPC_CheckPredicate, 17,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     16,
      OPC_CheckPredicate, 18,
      OPC_CheckPredicate, 19,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 3, 1,
     14,
      OPC_CheckPredicate, 16,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 3, 1,
     14,
      OPC_CheckPredicate, 17,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 3, 1,
     0,
    0,
   126|128,4,
    OPC_CheckChild1Type, MVT::v32i16,
    OPC_Scope, 38|128,3,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 78|128,1, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 34,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_Scope, 13,
        OPC_CheckPatternPredicate2,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckPatternPredicate3,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      32,
       OPC_CheckPredicate, 16,
       OPC_Scope, 13,
        OPC_CheckPatternPredicate2,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckPatternPredicate3,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      32,
       OPC_CheckPredicate, 17,
       OPC_Scope, 13,
        OPC_CheckPatternPredicate2,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckPatternPredicate3,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      30,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       11,
        OPC_CheckPatternPredicate3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      28,
       OPC_CheckPredicate, 16,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       11,
        OPC_CheckPatternPredicate3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      28,
       OPC_CheckPredicate, 17,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       11,
        OPC_CheckPatternPredicate3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      0,
     77|128,1, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 34,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_Scope, 13,
        OPC_CheckPatternPredicate2,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckPatternPredicate3,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      32,
       OPC_CheckPredicate, 16,
       OPC_Scope, 13,
        OPC_CheckPatternPredicate2,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckPatternPredicate3,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      32,
       OPC_CheckPredicate, 17,
       OPC_Scope, 13,
        OPC_CheckPatternPredicate2,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckPatternPredicate3,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      30,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       11,
        OPC_CheckPatternPredicate3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      28,
       OPC_CheckPredicate, 16,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       11,
        OPC_CheckPatternPredicate3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      28,
       OPC_CheckPredicate, 17,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       11,
        OPC_CheckPatternPredicate3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      0,
     0,
    80|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_Scope, 36,
      OPC_CheckPredicate, 18,
      OPC_CheckPredicate, 19,
      OPC_Scope, 14,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      14,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     34,
      OPC_CheckPredicate, 16,
      OPC_Scope, 14,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      14,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     34,
      OPC_CheckPredicate, 17,
      OPC_Scope, 14,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      14,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     32,
      OPC_CheckPredicate, 18,
      OPC_CheckPredicate, 19,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      12,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      0,
     30,
      OPC_CheckPredicate, 16,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      12,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      0,
     30,
      OPC_CheckPredicate, 17,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      12,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      0,
     0,
    0,
   85|128,2,
    OPC_CheckChild1Type, MVT::v64i16,
    OPC_Scope, 100|128,1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 110, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 17,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      15,
       OPC_CheckPredicate, 16,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      15,
       OPC_CheckPredicate, 17,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      15,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_CheckPatternPredicate4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      13,
       OPC_CheckPredicate, 16,
       OPC_CheckPatternPredicate4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      13,
       OPC_CheckPredicate, 17,
       OPC_CheckPatternPredicate4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      0,
     109, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 17,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      15,
       OPC_CheckPredicate, 16,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      15,
       OPC_CheckPredicate, 17,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      15,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_CheckPatternPredicate4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      13,
       OPC_CheckPredicate, 16,
       OPC_CheckPatternPredicate4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      13,
       OPC_CheckPredicate, 17,
       OPC_CheckPatternPredicate4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      0,
     0,
    106,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_Scope, 18,
      OPC_CheckPredicate, 18,
      OPC_CheckPredicate, 19,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     16,
      OPC_CheckPredicate, 16,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     16,
      OPC_CheckPredicate, 17,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     16,
      OPC_CheckPredicate, 18,
      OPC_CheckPredicate, 19,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 3, 1,
     14,
      OPC_CheckPredicate, 16,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 3, 1,
     14,
      OPC_CheckPredicate, 17,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 3, 1,
     0,
    0,
   126|128,4,
    OPC_CheckChild1Type, MVT::v16i32,
    OPC_Scope, 38|128,3,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 78|128,1, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 34,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_Scope, 13,
        OPC_CheckPatternPredicate2,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckPatternPredicate3,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      32,
       OPC_CheckPredicate, 16,
       OPC_Scope, 13,
        OPC_CheckPatternPredicate2,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckPatternPredicate3,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      32,
       OPC_CheckPredicate, 17,
       OPC_Scope, 13,
        OPC_CheckPatternPredicate2,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckPatternPredicate3,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      30,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       11,
        OPC_CheckPatternPredicate3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      28,
       OPC_CheckPredicate, 16,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       11,
        OPC_CheckPatternPredicate3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      28,
       OPC_CheckPredicate, 17,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       11,
        OPC_CheckPatternPredicate3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      0,
     77|128,1, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 34,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_Scope, 13,
        OPC_CheckPatternPredicate2,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckPatternPredicate3,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      32,
       OPC_CheckPredicate, 16,
       OPC_Scope, 13,
        OPC_CheckPatternPredicate2,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckPatternPredicate3,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      32,
       OPC_CheckPredicate, 17,
       OPC_Scope, 13,
        OPC_CheckPatternPredicate2,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       13,
        OPC_CheckPatternPredicate3,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      30,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       11,
        OPC_CheckPatternPredicate3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      28,
       OPC_CheckPredicate, 16,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       11,
        OPC_CheckPatternPredicate3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      28,
       OPC_CheckPredicate, 17,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       11,
        OPC_CheckPatternPredicate3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      0,
     0,
    80|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_Scope, 36,
      OPC_CheckPredicate, 18,
      OPC_CheckPredicate, 19,
      OPC_Scope, 14,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      14,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     34,
      OPC_CheckPredicate, 16,
      OPC_Scope, 14,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      14,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     34,
      OPC_CheckPredicate, 17,
      OPC_Scope, 14,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      14,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     32,
      OPC_CheckPredicate, 18,
      OPC_CheckPredicate, 19,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      12,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      0,
     30,
      OPC_CheckPredicate, 16,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      12,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      0,
     30,
      OPC_CheckPredicate, 17,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      12,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      0,
     0,
    0,
   85|128,2,
    OPC_CheckChild1Type, MVT::v32i32,
    OPC_Scope, 100|128,1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 110, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 17,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      15,
       OPC_CheckPredicate, 16,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      15,
       OPC_CheckPredicate, 17,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      15,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_CheckPatternPredicate4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      13,
       OPC_CheckPredicate, 16,
       OPC_CheckPatternPredicate4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      13,
       OPC_CheckPredicate, 17,
       OPC_CheckPatternPredicate4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      0,
     109, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 17,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      15,
       OPC_CheckPredicate, 16,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      15,
       OPC_CheckPredicate, 17,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      15,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_CheckPatternPredicate4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      13,
       OPC_CheckPredicate, 16,
       OPC_CheckPatternPredicate4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      13,
       OPC_CheckPredicate, 17,
       OPC_CheckPatternPredicate4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      0,
     0,
    106,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_Scope, 18,
      OPC_CheckPredicate, 18,
      OPC_CheckPredicate, 19,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     16,
      OPC_CheckPredicate, 16,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     16,
      OPC_CheckPredicate, 17,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     16,
      OPC_CheckPredicate, 18,
      OPC_CheckPredicate, 19,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 3, 1,
     14,
      OPC_CheckPredicate, 16,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 3, 1,
     14,
      OPC_CheckPredicate, 17,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 3, 1,
     0,
    0,
   34|128,5,
    OPC_CheckChild1Type, MVT::v32bf16,
    OPC_Scope, 62|128,3,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 90|128,1, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 36,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       14,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      34,
       OPC_CheckPredicate, 16,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       14,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      34,
       OPC_CheckPredicate, 17,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       14,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      32,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      30,
       OPC_CheckPredicate, 16,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      30,
       OPC_CheckPredicate, 17,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      0,
     89|128,1, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 36,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       14,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      34,
       OPC_CheckPredicate, 16,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       14,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      34,
       OPC_CheckPredicate, 17,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       14,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      32,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      30,
       OPC_CheckPredicate, 16,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      30,
       OPC_CheckPredicate, 17,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      0,
     0,
    92|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_Scope, 38,
      OPC_CheckPredicate, 18,
      OPC_CheckPredicate, 19,
      OPC_Scope, 15,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      15,
       OPC_CheckPatternPredicate, 9,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     36,
      OPC_CheckPredicate, 16,
      OPC_Scope, 15,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      15,
       OPC_CheckPatternPredicate, 9,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     36,
      OPC_CheckPredicate, 17,
      OPC_Scope, 15,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      15,
       OPC_CheckPatternPredicate, 9,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     34,
      OPC_CheckPredicate, 18,
      OPC_CheckPredicate, 19,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      13,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      0,
     32,
      OPC_CheckPredicate, 16,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      13,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      0,
     32,
      OPC_CheckPredicate, 17,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      13,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      0,
     0,
    0,
   103|128,2,
    OPC_CheckChild1Type, MVT::v64bf16,
    OPC_Scope, 112|128,1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 116, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 18,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      16,
       OPC_CheckPredicate, 16,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      16,
       OPC_CheckPredicate, 17,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      16,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      14,
       OPC_CheckPredicate, 16,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      14,
       OPC_CheckPredicate, 17,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      0,
     115, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 18,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      16,
       OPC_CheckPredicate, 16,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      16,
       OPC_CheckPredicate, 17,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      16,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      14,
       OPC_CheckPredicate, 16,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      14,
       OPC_CheckPredicate, 17,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      0,
     0,
    112,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_Scope, 19,
      OPC_CheckPredicate, 18,
      OPC_CheckPredicate, 19,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     17,
      OPC_CheckPredicate, 16,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     17,
      OPC_CheckPredicate, 17,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     17,
      OPC_CheckPredicate, 18,
      OPC_CheckPredicate, 19,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 3, 1,
     15,
      OPC_CheckPredicate, 16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 3, 1,
     15,
      OPC_CheckPredicate, 17,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 3, 1,
     0,
    0,
   34|128,5,
    OPC_CheckChild1Type, MVT::v32f16,
    OPC_Scope, 62|128,3,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 90|128,1, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 36,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       14,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      34,
       OPC_CheckPredicate, 16,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       14,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      34,
       OPC_CheckPredicate, 17,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       14,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      32,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      30,
       OPC_CheckPredicate, 16,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      30,
       OPC_CheckPredicate, 17,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      0,
     89|128,1, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 36,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       14,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      34,
       OPC_CheckPredicate, 16,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       14,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      34,
       OPC_CheckPredicate, 17,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       14,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      32,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      30,
       OPC_CheckPredicate, 16,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      30,
       OPC_CheckPredicate, 17,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      0,
     0,
    92|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_Scope, 38,
      OPC_CheckPredicate, 18,
      OPC_CheckPredicate, 19,
      OPC_Scope, 15,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      15,
       OPC_CheckPatternPredicate, 9,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     36,
      OPC_CheckPredicate, 16,
      OPC_Scope, 15,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      15,
       OPC_CheckPatternPredicate, 9,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     36,
      OPC_CheckPredicate, 17,
      OPC_Scope, 15,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      15,
       OPC_CheckPatternPredicate, 9,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     34,
      OPC_CheckPredicate, 18,
      OPC_CheckPredicate, 19,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      13,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      0,
     32,
      OPC_CheckPredicate, 16,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      13,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      0,
     32,
      OPC_CheckPredicate, 17,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      13,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      0,
     0,
    0,
   103|128,2,
    OPC_CheckChild1Type, MVT::v64f16,
    OPC_Scope, 112|128,1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 116, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 18,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      16,
       OPC_CheckPredicate, 16,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      16,
       OPC_CheckPredicate, 17,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      16,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      14,
       OPC_CheckPredicate, 16,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      14,
       OPC_CheckPredicate, 17,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      0,
     115, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 18,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      16,
       OPC_CheckPredicate, 16,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      16,
       OPC_CheckPredicate, 17,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      16,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      14,
       OPC_CheckPredicate, 16,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      14,
       OPC_CheckPredicate, 17,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      0,
     0,
    112,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_Scope, 19,
      OPC_CheckPredicate, 18,
      OPC_CheckPredicate, 19,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     17,
      OPC_CheckPredicate, 16,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     17,
      OPC_CheckPredicate, 17,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     17,
      OPC_CheckPredicate, 18,
      OPC_CheckPredicate, 19,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 3, 1,
     15,
      OPC_CheckPredicate, 16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 3, 1,
     15,
      OPC_CheckPredicate, 17,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 3, 1,
     0,
    0,
   35|128,5,
    OPC_CheckChild1Type, 13|128,1,
    OPC_Scope, 62|128,3,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 90|128,1, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 36,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       14,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      34,
       OPC_CheckPredicate, 16,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       14,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      34,
       OPC_CheckPredicate, 17,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       14,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      32,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      30,
       OPC_CheckPredicate, 16,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      30,
       OPC_CheckPredicate, 17,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      0,
     89|128,1, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 36,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       14,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      34,
       OPC_CheckPredicate, 16,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       14,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      34,
       OPC_CheckPredicate, 17,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       14,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 4, 5, 1,
       0,
      32,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      30,
       OPC_CheckPredicate, 16,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      30,
       OPC_CheckPredicate, 17,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget3,
        OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        3, 2, 4, 1,
       0,
      0,
     0,
    92|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_Scope, 38,
      OPC_CheckPredicate, 18,
      OPC_CheckPredicate, 19,
      OPC_Scope, 15,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      15,
       OPC_CheckPatternPredicate, 9,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     36,
      OPC_CheckPredicate, 16,
      OPC_Scope, 15,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      15,
       OPC_CheckPatternPredicate, 9,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     36,
      OPC_CheckPredicate, 17,
      OPC_Scope, 15,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      15,
       OPC_CheckPatternPredicate, 9,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 3, 4, 1,
      0,
     34,
      OPC_CheckPredicate, 18,
      OPC_CheckPredicate, 19,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      13,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      0,
     32,
      OPC_CheckPredicate, 16,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      13,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      0,
     32,
      OPC_CheckPredicate, 17,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      13,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 3, 1,
      0,
     0,
    0,
   104|128,2,
    OPC_CheckChild1Type, 14|128,1,
    OPC_Scope, 112|128,1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 116, TARGET_VAL(ISD::OR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckPredicate4,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 18,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      16,
       OPC_CheckPredicate, 16,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      16,
       OPC_CheckPredicate, 17,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      16,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      14,
       OPC_CheckPredicate, 16,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      14,
       OPC_CheckPredicate, 17,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      0,
     115, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_CheckPredicate7,
      OPC_Scope, 18,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      16,
       OPC_CheckPredicate, 16,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      16,
       OPC_CheckPredicate, 17,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 4, 5, 1,
      16,
       OPC_CheckPredicate, 18,
       OPC_CheckPredicate, 19,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      14,
       OPC_CheckPredicate, 16,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      14,
       OPC_CheckPredicate, 17,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       3, 2, 4, 1,
      0,
     0,
    112,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate0,
     OPC_CheckPredicate7,
     OPC_Scope, 19,
      OPC_CheckPredicate, 18,
      OPC_CheckPredicate, 19,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     17,
      OPC_CheckPredicate, 16,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     17,
      OPC_CheckPredicate, 17,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     17,
      OPC_CheckPredicate, 18,
      OPC_CheckPredicate, 19,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 3, 1,
     15,
      OPC_CheckPredicate, 16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 3, 1,
     15,
      OPC_CheckPredicate, 17,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::V6_vS32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 3, 1,
     0,
    0,
   0,
  0,
 33|128,77, TARGET_VAL(ISD::OR),
  OPC_Scope, 54|128,1,
   OPC_MoveChild0,
   OPC_Scope, 42,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 16,
    OPC_CheckChild1TypeI32,
    OPC_MoveSibling1,
    OPC_Scope, 14,
     OPC_CheckAndImm, 127|128,127|128,3,
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_combine_ll),
                     MVT::i32, 2, 0, 1,
    16,
     OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 16,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_combine_lh),
                     MVT::i32, 2, 0, 1,
    0,
   41,
    OPC_CheckAndImm, 0|128,96|128,127|128,127,
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_Scope, 14,
     OPC_CheckAndImm, 127|128,127|128,3,
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_combine_hl),
                     MVT::i32, 2, 0, 1,
    16,
     OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 16,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_combine_hh),
                     MVT::i32, 2, 0, 1,
    0,
   22,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 16,
    OPC_CheckChild1TypeI32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_combine_ll),
                    MVT::i32, 2, 1, 0,
   24,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 16,
    OPC_CheckChild1TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 16,
    OPC_CheckChild1TypeI32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_combine_lh),
                    MVT::i32, 2, 1, 0,
   21,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_CheckAndImm, 0|128,96|128,127|128,127,
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_combine_hl),
                    MVT::i32, 2, 1, 0,
   23,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 16,
    OPC_CheckChild1TypeI32,
    OPC_MoveSibling1,
    OPC_CheckAndImm, 0|128,96|128,127|128,127,
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_combine_hh),
                    MVT::i32, 2, 1, 0,
   0,
  62,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 26, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 22,
    OPC_CheckComplexPat3, /*#*/0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_ori_asl_ri),
                    MVT::i32, 3, 3, 1, 4,
   26, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 22,
    OPC_CheckComplexPat3, /*#*/0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_ori_lsr_ri),
                    MVT::i32, 3, 3, 1, 4,
   0,
  50|128,11,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 102|128,3, TARGET_VAL(ISD::SHL),
    OPC_Scope, 34,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 32,
     OPC_CheckChild1TypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 2, 0, 3, 1, 4,
    27,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 22,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_ori_asl_ri),
                     MVT::i32, 3, 3, 0, 4,
    35|128,3,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 91|128,1, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 8,
      OPC_CheckChild1TypeI32,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 93, TARGET_VAL(ISD::SHL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(HexagonISD::INSERT),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 2,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckChild3Integer, 8,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 16,
       OPC_CheckChild1TypeI32,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitMergeInputChains, 4, 0, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 1, 5,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_swiz),
                       MVT::i32, 1, 6,
      93, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(HexagonISD::INSERT),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 2,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckChild3Integer, 8,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 16,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitMergeInputChains, 4, 0, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 1, 5,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_swiz),
                       MVT::i32, 1, 6,
      0,
     61|128,1, TARGET_VAL(HexagonISD::INSERT),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 2,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 3,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 24,
      OPC_CheckChild3Integer, 8,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 16,
      OPC_CheckChild1TypeI32,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 63, TARGET_VAL(ISD::SHL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 8,
       OPC_CheckChild1TypeI32,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitMergeInputChains, 4, 0, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 1, 5,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_swiz),
                       MVT::i32, 1, 6,
      63, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 8,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitMergeInputChains, 4, 0, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 1, 5,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_swiz),
                       MVT::i32, 1, 6,
      0,
     0,
    0,
   27, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 22,
    OPC_CheckComplexPat3, /*#*/2,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_ori_lsr_ri),
                    MVT::i32, 3, 3, 0, 4,
   34, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 32,
    OPC_CheckChild1TypeI32,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::i64, 5, 2, 1, 3, 0, 4,
   14|128,5, TARGET_VAL(ISD::OR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 27|128,3, TARGET_VAL(ISD::SHL),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 57|128,1, TARGET_VAL(HexagonISD::INSERT),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 2,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 3,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 24,
      OPC_CheckChild3Integer, 8,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 16,
      OPC_CheckChild1TypeI32,
      OPC_MoveSibling1,
      OPC_SwitchOpcode , 63, TARGET_VAL(ISD::SHL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 8,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitMergeInputChains, 4, 0, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 1, 5,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_swiz),
                       MVT::i32, 1, 6,
      63, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 1,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 8,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitMergeInputChains, 4, 0, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 1, 5,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_swiz),
                       MVT::i32, 1, 6,
      0,
     87|128,1, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 8,
      OPC_CheckChild1TypeI32,
      OPC_MoveSibling1,
      OPC_SwitchOpcode , 93, TARGET_VAL(ISD::SHL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(HexagonISD::INSERT),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 2,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckChild3Integer, 8,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 16,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitMergeInputChains, 4, 0, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 1, 5,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_swiz),
                       MVT::i32, 1, 6,
      93, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_CheckChild1Same, 1,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(HexagonISD::INSERT),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 2,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
       OPC_RecordMemRef,
       OPC_RecordNode,
       OPC_CheckFoldableChainNode,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
       OPC_CheckChild0Same, 1,
       OPC_CheckChild1Integer, 3,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 10,
       OPC_CheckPredicate1,
       OPC_MoveParent,
       OPC_CheckChild2Integer, 24,
       OPC_CheckChild3Integer, 8,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 16,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitMergeInputChains, 4, 0, 2, 3, 4,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 1, 5,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_swiz),
                       MVT::i32, 1, 6,
      0,
     0,
    104|128,1, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI32,
     OPC_CheckPredicate6,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 105, TARGET_VAL(HexagonISD::INSERT),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 2,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 3,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 24,
      OPC_CheckChild3Integer, 8,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 16,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 8,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_EmitMergeInputChains, 4, 0, 2, 3, 4,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 5,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_swiz),
                      MVT::i32, 1, 6,
     105, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 8,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(HexagonISD::INSERT),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 2,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
      OPC_RecordMemRef,
      OPC_RecordNode,
      OPC_CheckFoldableChainNode,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
      OPC_CheckChild0Same, 1,
      OPC_CheckChild1Integer, 3,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate1,
      OPC_MoveParent,
      OPC_CheckChild2Integer, 24,
      OPC_CheckChild3Integer, 8,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 16,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_EmitMergeInputChains, 4, 0, 2, 3, 4,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 5,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_swiz),
                      MVT::i32, 1, 6,
     0,
    0,
   108|128,1, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate6,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate1,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 105, TARGET_VAL(HexagonISD::INSERT),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Integer, 2,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate6,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Integer, 3,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate6,
     OPC_CheckPredicate, 10,
     OPC_CheckPredicate1,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 24,
     OPC_CheckChild3Integer, 8,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 16,
     OPC_CheckChild1TypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Integer, 1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate6,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate1,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 8,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitMergeInputChains, 4, 0, 2, 3, 4,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 5,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_swiz),
                     MVT::i32, 1, 6,
    105, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Integer, 1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate6,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate1,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 8,
     OPC_CheckChild1TypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::INSERT),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Integer, 2,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate6,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_CheckChild0Same, 1,
     OPC_CheckChild1Integer, 3,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate6,
     OPC_CheckPredicate, 10,
     OPC_CheckPredicate1,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 24,
     OPC_CheckChild3Integer, 8,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 16,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitMergeInputChains, 4, 0, 2, 3, 4,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 5,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_swiz),
                     MVT::i32, 1, 6,
    0,
   0,
  49,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 20,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_or_andn),
                    MVT::i32, 3, 0, 1, 2,
   20,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_or_andn),
                    MVT::i32, 3, 0, 2, 1,
   0,
  50,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 21,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_or_andn),
                    MVT::i32, 3, 2, 0, 1,
   21,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_or_andn),
                    MVT::i32, 3, 2, 1, 0,
   0,
  56|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 41, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 15,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_r_or),
                     MVT::i32, 3, 0, 1, 3,
    15,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_p_or),
                     MVT::i64, 3, 0, 1, 3,
    0,
   41, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 15,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_r_or),
                     MVT::i32, 3, 0, 1, 3,
    15,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_p_or),
                     MVT::i64, 3, 0, 1, 3,
    0,
   41, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 15,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_r_or),
                     MVT::i32, 3, 0, 1, 3,
    15,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_p_or),
                     MVT::i64, 3, 0, 1, 3,
    0,
   45, TARGET_VAL(ISD::ROTL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 17,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 30,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_r_or),
                     MVT::i32, 3, 0, 1, 3,
    17,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 30,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_p_or),
                     MVT::i64, 3, 0, 1, 3,
    0,
   0,
  63|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 43, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 16,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_r_or),
                     MVT::i32, 3, 2, 0, 3,
    16,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_p_or),
                     MVT::i64, 3, 2, 0, 3,
    0,
   43, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 16,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_r_or),
                     MVT::i32, 3, 2, 0, 3,
    16,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_p_or),
                     MVT::i64, 3, 2, 0, 3,
    0,
   43, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 16,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_r_or),
                     MVT::i32, 3, 2, 0, 3,
    16,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_p_or),
                     MVT::i64, 3, 2, 0, 3,
    0,
   47, TARGET_VAL(ISD::ROTL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 18,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 30,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_r_or),
                     MVT::i32, 3, 2, 0, 3,
    18,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 30,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_p_or),
                     MVT::i64, 3, 2, 0, 3,
    0,
   0,
  94,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 27, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_r_or),
                     MVT::i32, 3, 0, 1, 2,
    8, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_p_or),
                     MVT::i64, 3, 0, 1, 2,
    0,
   27, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_r_or),
                     MVT::i32, 3, 0, 1, 2,
    8, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_p_or),
                     MVT::i64, 3, 0, 1, 2,
    0,
   27, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_r_or),
                     MVT::i32, 3, 0, 1, 2,
    8, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_p_or),
                     MVT::i64, 3, 0, 1, 2,
    0,
   0,
  4|128,17,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 28, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_r_or),
                     MVT::i32, 3, 2, 0, 1,
    8, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_p_or),
                     MVT::i64, 3, 2, 0, 1,
    0,
   28, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_r_or),
                     MVT::i32, 3, 2, 0, 1,
    8, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_p_or),
                     MVT::i64, 3, 2, 0, 1,
    0,
   97|128,7, TARGET_VAL(ISD::SHL),
    OPC_Scope, 28,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI32,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 8, MVT::i32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_r_or),
                      MVT::i32, 3, 2, 0, 1,
     8, MVT::i64,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_p_or),
                      MVT::i64, 3, 2, 0, 1,
     0,
    64|128,7,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 48,
     OPC_CheckChild1TypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 81|128,3, TARGET_VAL(ISD::OR),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 45|128,2, TARGET_VAL(ISD::SHL),
       OPC_MoveChild0,
       OPC_SwitchOpcode , 17|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
        OPC_MoveChild0,
        OPC_CheckAndImm, 127|128,127|128,3,
        OPC_RecordChild0,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 16,
        OPC_CheckChild1TypeI32,
        OPC_MoveSibling1,
        OPC_SwitchOpcode , 62, TARGET_VAL(ISD::ZERO_EXTEND),
         OPC_MoveChild0,
         OPC_CheckAndImm, 127|128,127|128,3,
         OPC_RecordChild0,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
         OPC_MoveChild0,
         OPC_CheckAndImm, 127|128,127|128,3,
         OPC_RecordChild0,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Integer, 32,
         OPC_CheckChild1TypeI32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                         MVT::i32, 2, 0, 3,
         OPC_EmitIntegerI32, Hexagon::isub_hi,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                         MVT::i32, 2, 1, 2,
         OPC_EmitIntegerI32, Hexagon::isub_lo,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                         MVT::i64, 5, 4, 5, 6, 7, 8,
        62, TARGET_VAL(ISD::SHL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
         OPC_MoveChild0,
         OPC_CheckAndImm, 127|128,127|128,3,
         OPC_RecordChild0,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Integer, 32,
         OPC_CheckChild1TypeI32,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
         OPC_MoveChild0,
         OPC_CheckAndImm, 127|128,127|128,3,
         OPC_RecordChild0,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                         MVT::i32, 2, 0, 2,
         OPC_EmitIntegerI32, Hexagon::isub_hi,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                         MVT::i32, 2, 1, 3,
         OPC_EmitIntegerI32, Hexagon::isub_lo,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                         MVT::i64, 5, 4, 5, 6, 7, 8,
        0,
       17|128,1, TARGET_VAL(ISD::ANY_EXTEND),
        OPC_MoveChild0,
        OPC_CheckAndImm, 127|128,127|128,3,
        OPC_RecordChild0,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 32,
        OPC_CheckChild1TypeI32,
        OPC_MoveSibling1,
        OPC_SwitchOpcode , 62, TARGET_VAL(ISD::SHL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
         OPC_MoveChild0,
         OPC_CheckAndImm, 127|128,127|128,3,
         OPC_RecordChild0,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Integer, 16,
         OPC_CheckChild1TypeI32,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
         OPC_MoveChild0,
         OPC_CheckAndImm, 127|128,127|128,3,
         OPC_RecordChild0,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, Hexagon::isub_hi,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                         MVT::i32, 2, 2, 3,
         OPC_EmitIntegerI32, Hexagon::isub_lo,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                         MVT::i64, 5, 4, 5, 6, 7, 8,
        62, TARGET_VAL(ISD::ZERO_EXTEND),
         OPC_MoveChild0,
         OPC_CheckAndImm, 127|128,127|128,3,
         OPC_RecordChild0,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_MoveSibling1,
         OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
         OPC_MoveChild0,
         OPC_CheckAndImm, 127|128,127|128,3,
         OPC_RecordChild0,
         OPC_CheckTypeI32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild1Integer, 16,
         OPC_CheckChild1TypeI32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckTypeI64,
         OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                         MVT::i32, 2, 0, 1,
         OPC_EmitIntegerI32, Hexagon::isub_hi,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                         MVT::i32, 2, 3, 2,
         OPC_EmitIntegerI32, Hexagon::isub_lo,
         OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                         MVT::i64, 5, 4, 5, 6, 7, 8,
        0,
       0,
      25|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_MoveChild0,
       OPC_CheckAndImm, 127|128,127|128,3,
       OPC_RecordChild0,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_MoveChild0,
       OPC_SwitchOpcode , 66, TARGET_VAL(ISD::ZERO_EXTEND),
        OPC_MoveChild0,
        OPC_CheckAndImm, 127|128,127|128,3,
        OPC_RecordChild0,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 16,
        OPC_CheckChild1TypeI32,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
        OPC_MoveChild0,
        OPC_CheckAndImm, 127|128,127|128,3,
        OPC_RecordChild0,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 32,
        OPC_CheckChild1TypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                        MVT::i32, 2, 0, 3,
        OPC_EmitIntegerI32, Hexagon::isub_hi,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                        MVT::i32, 2, 2, 1,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                        MVT::i64, 5, 4, 5, 6, 7, 8,
       66, TARGET_VAL(ISD::ANY_EXTEND),
        OPC_MoveChild0,
        OPC_CheckAndImm, 127|128,127|128,3,
        OPC_RecordChild0,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 32,
        OPC_CheckChild1TypeI32,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
        OPC_MoveChild0,
        OPC_CheckAndImm, 127|128,127|128,3,
        OPC_RecordChild0,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 16,
        OPC_CheckChild1TypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, Hexagon::isub_hi,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                        MVT::i32, 2, 3, 1,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                        MVT::i64, 5, 4, 5, 6, 7, 8,
       0,
      0,
     53|128,2, TARGET_VAL(ISD::SHL),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 21|128,1, TARGET_VAL(ISD::ANY_EXTEND),
       OPC_MoveChild0,
       OPC_CheckAndImm, 127|128,127|128,3,
       OPC_RecordChild0,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 32,
       OPC_CheckChild1TypeI32,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_MoveChild0,
       OPC_SwitchOpcode , 62, TARGET_VAL(ISD::SHL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
        OPC_MoveChild0,
        OPC_CheckAndImm, 127|128,127|128,3,
        OPC_RecordChild0,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 16,
        OPC_CheckChild1TypeI32,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
        OPC_MoveChild0,
        OPC_CheckAndImm, 127|128,127|128,3,
        OPC_RecordChild0,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, Hexagon::isub_hi,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                        MVT::i32, 2, 2, 3,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                        MVT::i64, 5, 4, 5, 6, 7, 8,
       62, TARGET_VAL(ISD::ZERO_EXTEND),
        OPC_MoveChild0,
        OPC_CheckAndImm, 127|128,127|128,3,
        OPC_RecordChild0,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
        OPC_MoveChild0,
        OPC_CheckAndImm, 127|128,127|128,3,
        OPC_RecordChild0,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 16,
        OPC_CheckChild1TypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, Hexagon::isub_hi,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                        MVT::i32, 2, 3, 2,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                        MVT::i64, 5, 4, 5, 6, 7, 8,
       0,
      21|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_MoveChild0,
       OPC_CheckAndImm, 127|128,127|128,3,
       OPC_RecordChild0,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 16,
       OPC_CheckChild1TypeI32,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::OR),
       OPC_MoveChild0,
       OPC_SwitchOpcode , 62, TARGET_VAL(ISD::ZERO_EXTEND),
        OPC_MoveChild0,
        OPC_CheckAndImm, 127|128,127|128,3,
        OPC_RecordChild0,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
        OPC_MoveChild0,
        OPC_CheckAndImm, 127|128,127|128,3,
        OPC_RecordChild0,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 32,
        OPC_CheckChild1TypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                        MVT::i32, 2, 0, 3,
        OPC_EmitIntegerI32, Hexagon::isub_hi,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                        MVT::i32, 2, 1, 2,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                        MVT::i64, 5, 4, 5, 6, 7, 8,
       62, TARGET_VAL(ISD::SHL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
        OPC_MoveChild0,
        OPC_CheckAndImm, 127|128,127|128,3,
        OPC_RecordChild0,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 32,
        OPC_CheckChild1TypeI32,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
        OPC_MoveChild0,
        OPC_CheckAndImm, 127|128,127|128,3,
        OPC_RecordChild0,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, Hexagon::isub_hi,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                        MVT::i32, 2, 1, 3,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                        MVT::i64, 5, 4, 5, 6, 7, 8,
       0,
      0,
     29|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_MoveChild0,
      OPC_CheckAndImm, 127|128,127|128,3,
      OPC_RecordChild0,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 66, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_MoveChild0,
       OPC_CheckAndImm, 127|128,127|128,3,
       OPC_RecordChild0,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 16,
       OPC_CheckChild1TypeI32,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
       OPC_MoveChild0,
       OPC_CheckAndImm, 127|128,127|128,3,
       OPC_RecordChild0,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 32,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                       MVT::i32, 2, 0, 3,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                       MVT::i32, 2, 2, 1,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 4, 5, 6, 7, 8,
      66, TARGET_VAL(ISD::ANY_EXTEND),
       OPC_MoveChild0,
       OPC_CheckAndImm, 127|128,127|128,3,
       OPC_RecordChild0,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 32,
       OPC_CheckChild1TypeI32,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_MoveChild0,
       OPC_CheckAndImm, 127|128,127|128,3,
       OPC_RecordChild0,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 16,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                       MVT::i32, 2, 0, 2,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                       MVT::i32, 2, 3, 1,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 4, 5, 6, 7, 8,
      0,
     0,
    0,
   90|128,8, TARGET_VAL(ISD::OR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 37|128,4, TARGET_VAL(ISD::OR),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 101|128,2, TARGET_VAL(ISD::SHL),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 45|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_MoveChild0,
       OPC_CheckAndImm, 127|128,127|128,3,
       OPC_RecordChild0,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 16,
       OPC_CheckChild1TypeI32,
       OPC_MoveSibling1,
       OPC_SwitchOpcode , 76, TARGET_VAL(ISD::ZERO_EXTEND),
        OPC_MoveChild0,
        OPC_CheckAndImm, 127|128,127|128,3,
        OPC_RecordChild0,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
        OPC_MoveChild0,
        OPC_CheckAndImm, 127|128,127|128,3,
        OPC_RecordChild0,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 32,
        OPC_CheckChild1TypeI32,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
        OPC_RecordChild0,
        OPC_CheckChild0TypeI32,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 48,
        OPC_CheckChild1TypeI32,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                        MVT::i32, 2, 3, 2,
        OPC_EmitIntegerI32, Hexagon::isub_hi,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                        MVT::i32, 2, 0, 1,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                        MVT::i64, 5, 4, 5, 6, 7, 8,
       76, TARGET_VAL(ISD::SHL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
        OPC_MoveChild0,
        OPC_CheckAndImm, 127|128,127|128,3,
        OPC_RecordChild0,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 32,
        OPC_CheckChild1TypeI32,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
        OPC_MoveChild0,
        OPC_CheckAndImm, 127|128,127|128,3,
        OPC_RecordChild0,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
        OPC_RecordChild0,
        OPC_CheckChild0TypeI32,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 48,
        OPC_CheckChild1TypeI32,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                        MVT::i32, 2, 3, 1,
        OPC_EmitIntegerI32, Hexagon::isub_hi,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                        MVT::i32, 2, 0, 2,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                        MVT::i64, 5, 4, 5, 6, 7, 8,
       0,
      45|128,1, TARGET_VAL(ISD::ANY_EXTEND),
       OPC_MoveChild0,
       OPC_CheckAndImm, 127|128,127|128,3,
       OPC_RecordChild0,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 32,
       OPC_CheckChild1TypeI32,
       OPC_MoveSibling1,
       OPC_SwitchOpcode , 76, TARGET_VAL(ISD::SHL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
        OPC_MoveChild0,
        OPC_CheckAndImm, 127|128,127|128,3,
        OPC_RecordChild0,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 16,
        OPC_CheckChild1TypeI32,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
        OPC_MoveChild0,
        OPC_CheckAndImm, 127|128,127|128,3,
        OPC_RecordChild0,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
        OPC_RecordChild0,
        OPC_CheckChild0TypeI32,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 48,
        OPC_CheckChild1TypeI32,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                        MVT::i32, 2, 3, 0,
        OPC_EmitIntegerI32, Hexagon::isub_hi,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                        MVT::i32, 2, 1, 2,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                        MVT::i64, 5, 4, 5, 6, 7, 8,
       76, TARGET_VAL(ISD::ZERO_EXTEND),
        OPC_MoveChild0,
        OPC_CheckAndImm, 127|128,127|128,3,
        OPC_RecordChild0,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
        OPC_MoveChild0,
        OPC_CheckAndImm, 127|128,127|128,3,
        OPC_RecordChild0,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 16,
        OPC_CheckChild1TypeI32,
        OPC_MoveParent,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
        OPC_RecordChild0,
        OPC_CheckChild0TypeI32,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 48,
        OPC_CheckChild1TypeI32,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                        MVT::i32, 2, 3, 0,
        OPC_EmitIntegerI32, Hexagon::isub_hi,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                        MVT::i32, 2, 2, 1,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                        MVT::i64, 5, 4, 5, 6, 7, 8,
       0,
      0,
     53|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_MoveChild0,
      OPC_CheckAndImm, 127|128,127|128,3,
      OPC_RecordChild0,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 80, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_MoveChild0,
       OPC_CheckAndImm, 127|128,127|128,3,
       OPC_RecordChild0,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 16,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
       OPC_MoveChild0,
       OPC_CheckAndImm, 127|128,127|128,3,
       OPC_RecordChild0,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 32,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 48,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                       MVT::i32, 2, 3, 2,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                       MVT::i32, 2, 1, 0,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 4, 5, 6, 7, 8,
      80, TARGET_VAL(ISD::ANY_EXTEND),
       OPC_MoveChild0,
       OPC_CheckAndImm, 127|128,127|128,3,
       OPC_RecordChild0,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 32,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_MoveChild0,
       OPC_CheckAndImm, 127|128,127|128,3,
       OPC_RecordChild0,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 16,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 48,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                       MVT::i32, 2, 3, 1,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                       MVT::i32, 2, 2, 0,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 4, 5, 6, 7, 8,
      0,
     0,
    109|128,2, TARGET_VAL(ISD::SHL),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 49|128,1, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_MoveChild0,
      OPC_CheckAndImm, 127|128,127|128,3,
      OPC_RecordChild0,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 32,
      OPC_CheckChild1TypeI32,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 76, TARGET_VAL(ISD::SHL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_MoveChild0,
       OPC_CheckAndImm, 127|128,127|128,3,
       OPC_RecordChild0,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 16,
       OPC_CheckChild1TypeI32,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_MoveChild0,
       OPC_CheckAndImm, 127|128,127|128,3,
       OPC_RecordChild0,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 48,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                       MVT::i32, 2, 3, 0,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                       MVT::i32, 2, 1, 2,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 4, 5, 6, 7, 8,
      76, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_MoveChild0,
       OPC_CheckAndImm, 127|128,127|128,3,
       OPC_RecordChild0,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_MoveChild0,
       OPC_CheckAndImm, 127|128,127|128,3,
       OPC_RecordChild0,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 16,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 48,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                       MVT::i32, 2, 3, 0,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                       MVT::i32, 2, 2, 1,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 4, 5, 6, 7, 8,
      0,
     49|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_MoveChild0,
      OPC_CheckAndImm, 127|128,127|128,3,
      OPC_RecordChild0,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 16,
      OPC_CheckChild1TypeI32,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 76, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_MoveChild0,
       OPC_CheckAndImm, 127|128,127|128,3,
       OPC_RecordChild0,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
       OPC_MoveChild0,
       OPC_CheckAndImm, 127|128,127|128,3,
       OPC_RecordChild0,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 32,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 48,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                       MVT::i32, 2, 3, 2,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                       MVT::i32, 2, 0, 1,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 4, 5, 6, 7, 8,
      76, TARGET_VAL(ISD::SHL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
       OPC_MoveChild0,
       OPC_CheckAndImm, 127|128,127|128,3,
       OPC_RecordChild0,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 32,
       OPC_CheckChild1TypeI32,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_MoveChild0,
       OPC_CheckAndImm, 127|128,127|128,3,
       OPC_RecordChild0,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 48,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                       MVT::i32, 2, 3, 1,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                       MVT::i32, 2, 0, 2,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 4, 5, 6, 7, 8,
      0,
     0,
    57|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_MoveChild0,
     OPC_CheckAndImm, 127|128,127|128,3,
     OPC_RecordChild0,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::OR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 80, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_MoveChild0,
      OPC_CheckAndImm, 127|128,127|128,3,
      OPC_RecordChild0,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 16,
      OPC_CheckChild1TypeI32,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_MoveChild0,
      OPC_CheckAndImm, 127|128,127|128,3,
      OPC_RecordChild0,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 32,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 48,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                      MVT::i32, 2, 3, 2,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                      MVT::i32, 2, 1, 0,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 4, 5, 6, 7, 8,
     80, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_MoveChild0,
      OPC_CheckAndImm, 127|128,127|128,3,
      OPC_RecordChild0,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 32,
      OPC_CheckChild1TypeI32,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_MoveChild0,
      OPC_CheckAndImm, 127|128,127|128,3,
      OPC_RecordChild0,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 16,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 48,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                      MVT::i32, 2, 3, 1,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_ll),
                      MVT::i32, 2, 2, 0,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 4, 5, 6, 7, 8,
     0,
    0,
   0,
  18,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_CheckChild0Integer, 1,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_setbit_r),
                   MVT::i32, 2, 0, 1,
  18,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_CheckChild0Integer, 1,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_setbit_r),
                   MVT::i32, 2, 1, 0,
  76|128,1,
   OPC_RecordChild0,
   OPC_Scope, 123,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 14,
     OPC_CheckPredicate, 23,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitNodeXForm, 9, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_setbit_i),
                     MVT::i32, 2, 0, 2,
    48,
     OPC_CheckPredicate, 55,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 3,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 6,
     OPC_EmitNodeXForm, 14, 1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_setbit_i),
                     MVT::i32, 2, 7, 8,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 2, 4, 5, 9, 10,
    51,
     OPC_CheckPredicate, 56,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 3,
     OPC_EmitNodeXForm, 14, 1,
     OPC_EmitNodeXForm, 15, 5,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_setbit_i),
                     MVT::i32, 2, 4, 6,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 9,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 2, 7, 8, 10, 11,
    0,
   76,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 46, TARGET_VAL(ISD::AND),
     OPC_Scope, 21,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 127,
      OPC_MoveParent,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckType, MVT::i1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                      MVT::i1, 3, 0, 1, 2,
     21,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_CheckChild1Integer, 127,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckType, MVT::i1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                      MVT::i1, 3, 0, 2, 1,
     0,
    21, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 127,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                     MVT::i1, 3, 0, 1, 2,
    0,
   0,
  52,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 22,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                    MVT::i1, 3, 2, 0, 1,
   22,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                    MVT::i1, 3, 2, 1, 0,
   0,
  26,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckType, MVT::i1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                   MVT::i1, 3, 0, 2, 1,
  52,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_Scope, 22,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                    MVT::i1, 3, 2, 0, 1,
   22,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                    MVT::i1, 3, 2, 1, 0,
   0,
  93,
   OPC_RecordChild0,
   OPC_Scope, 20,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 26,
    OPC_MoveParent,
    OPC_CheckPredicate4,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat0, /*#*/0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_fi),
                    MVT::i32, 2, 2, 3,
   68,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 44, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate, 22,
      OPC_CheckComplexPat3, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_or_andix),
                      MVT::i32, 3, 0, 1, 3,
     10,
      OPC_CheckComplexPat3, /*#*/2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_or_andi),
                      MVT::i32, 3, 0, 1, 3,
     12,
      OPC_CheckPatternPredicate, 22,
      OPC_CheckComplexPat3, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_or_andix),
                      MVT::i32, 3, 0, 2, 3,
     0,
    15, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_or_ori),
                     MVT::i32, 3, 0, 1, 3,
    0,
   0,
  36,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 22,
   OPC_Scope, 10,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_or_andix),
                    MVT::i32, 3, 2, 0, 3,
   10,
    OPC_CheckComplexPat3, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_or_andix),
                    MVT::i32, 3, 2, 1, 3,
   0,
  20,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_or_andi),
                   MVT::i32, 3, 0, 2, 3,
  34,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_Scope, 10,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_or_andi),
                    MVT::i32, 3, 2, 0, 3,
   10,
    OPC_CheckComplexPat3, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_or_andi),
                    MVT::i32, 3, 2, 1, 3,
   0,
  20,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_or_ori),
                   MVT::i32, 3, 0, 2, 3,
  34,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_Scope, 10,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_or_ori),
                    MVT::i32, 3, 2, 0, 3,
   10,
    OPC_CheckComplexPat3, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_or_ori),
                    MVT::i32, 3, 2, 1, 3,
   0,
  29,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_SwitchType , 7, MVT::i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_orn),
                    MVT::i1, 2, 0, 1,
   7, MVT::i64,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_ornp),
                    MVT::i64, 2, 0, 1,
   0,
  29,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 7, MVT::i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_orn),
                    MVT::i1, 2, 1, 0,
   7, MVT::i64,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_ornp),
                    MVT::i64, 2, 1, 0,
   0,
  114,
   OPC_RecordChild0,
   OPC_Scope, 24,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_Scope, 9,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_orir),
                     MVT::i32, 2, 0, 2,
    9,
     OPC_CheckComplexPat3, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_orir),
                     MVT::i32, 2, 1, 2,
    0,
   85,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 30, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_Scope, 12,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckType, MVT::i1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_and),
                      MVT::i1, 3, 0, 1, 2,
     12,
      OPC_CheckPredicate, 44,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_or_and),
                      MVT::i32, 3, 0, 1, 2,
     0,
    30, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_Scope, 12,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckType, MVT::i1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_or),
                      MVT::i1, 3, 0, 1, 2,
     12,
      OPC_CheckPredicate, 44,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_or_or),
                      MVT::i32, 3, 0, 1, 2,
     0,
    13, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_or_xor),
                     MVT::i32, 3, 0, 1, 2,
    0,
   0,
  90,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 32, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 13,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_and),
                     MVT::i1, 3, 2, 0, 1,
    13,
     OPC_CheckPredicate, 44,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_or_and),
                     MVT::i32, 3, 2, 0, 1,
    0,
   32, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 13,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_or),
                     MVT::i1, 3, 2, 0, 1,
    13,
     OPC_CheckPredicate, 44,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_or_or),
                     MVT::i32, 3, 2, 0, 1,
    0,
   14, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_or_xor),
                    MVT::i32, 3, 2, 0, 1,
   0,
  84|128,1,
   OPC_RecordChild0,
   OPC_Scope, 30,
    OPC_RecordChild1,
    OPC_SwitchType , 7, MVT::i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_or),
                     MVT::i1, 2, 0, 1,
    7, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_or),
                     MVT::i32, 2, 0, 1,
    7, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_orp),
                     MVT::i64, 2, 0, 1,
    0,
   48|128,1,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 121, TARGET_VAL(ISD::AND),
     OPC_Scope, 69,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 41,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_SwitchType , 8, MVT::v2i1,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                        MVT::v2i1, 3, 0, 1, 2,
       8, MVT::v4i1,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                        MVT::v4i1, 3, 0, 1, 2,
       8, MVT::v8i1,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                        MVT::v8i1, 3, 0, 1, 2,
       0,
      19,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i1,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                       MVT::v2i1, 3, 0, 1, 2,
      0,
     48,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 20,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i1,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                       MVT::v2i1, 3, 0, 2, 1,
      20,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i1,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                       MVT::v2i1, 3, 0, 2, 1,
      0,
     0,
    46, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::v2i1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                      MVT::v2i1, 3, 0, 1, 2,
     8, MVT::v4i1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                      MVT::v4i1, 3, 0, 1, 2,
     8, MVT::v8i1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                      MVT::v8i1, 3, 0, 1, 2,
     0,
    0,
   0,
  107,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 49,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                     MVT::v2i1, 3, 2, 0, 1,
    20,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                     MVT::v2i1, 3, 2, 0, 1,
    0,
   50,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                     MVT::v2i1, 3, 2, 1, 0,
    21,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                     MVT::v2i1, 3, 2, 1, 0,
    0,
   0,
  81,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 24,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                    MVT::v4i1, 3, 0, 1, 2,
   48,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                     MVT::v4i1, 3, 0, 2, 1,
    20,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                     MVT::v4i1, 3, 0, 2, 1,
    0,
   0,
  107,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 49,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                     MVT::v4i1, 3, 2, 0, 1,
    20,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                     MVT::v4i1, 3, 2, 0, 1,
    0,
   50,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                     MVT::v4i1, 3, 2, 1, 0,
    21,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                     MVT::v4i1, 3, 2, 1, 0,
    0,
   0,
  81,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 24,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                    MVT::v8i1, 3, 0, 1, 2,
   48,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                     MVT::v8i1, 3, 0, 2, 1,
    20,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                     MVT::v8i1, 3, 0, 2, 1,
    0,
   0,
  107,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 49,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                     MVT::v8i1, 3, 2, 0, 1,
    20,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                     MVT::v8i1, 3, 2, 0, 1,
    0,
   50,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                     MVT::v8i1, 3, 2, 1, 0,
    21,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                     MVT::v8i1, 3, 2, 1, 0,
    0,
   0,
  81,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_Scope, 24,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                    MVT::v2i1, 3, 0, 1, 2,
   48,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                     MVT::v2i1, 3, 0, 2, 1,
    20,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                     MVT::v2i1, 3, 0, 2, 1,
    0,
   0,
  107,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_Scope, 49,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                     MVT::v2i1, 3, 2, 0, 1,
    20,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                     MVT::v2i1, 3, 2, 0, 1,
    0,
   50,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                     MVT::v2i1, 3, 2, 1, 0,
    21,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                     MVT::v2i1, 3, 2, 1, 0,
    0,
   0,
  81,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_Scope, 24,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                    MVT::v4i1, 3, 0, 1, 2,
   48,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                     MVT::v4i1, 3, 0, 2, 1,
    20,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                     MVT::v4i1, 3, 0, 2, 1,
    0,
   0,
  107,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_Scope, 49,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                     MVT::v4i1, 3, 2, 0, 1,
    20,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                     MVT::v4i1, 3, 2, 0, 1,
    0,
   50,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                     MVT::v4i1, 3, 2, 1, 0,
    21,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                     MVT::v4i1, 3, 2, 1, 0,
    0,
   0,
  81,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_Scope, 24,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                    MVT::v8i1, 3, 0, 1, 2,
   48,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                     MVT::v8i1, 3, 0, 2, 1,
    20,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                     MVT::v8i1, 3, 0, 2, 1,
    0,
   0,
  107,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_Scope, 49,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                     MVT::v8i1, 3, 2, 0, 1,
    20,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                     MVT::v8i1, 3, 2, 0, 1,
    0,
   50,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                     MVT::v8i1, 3, 2, 1, 0,
    21,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_orn),
                     MVT::v8i1, 3, 2, 1, 0,
    0,
   0,
  61,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 36,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 7, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_orn),
                     MVT::v2i1, 2, 0, 1,
    7, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_orn),
                     MVT::v4i1, 2, 0, 1,
    7, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_orn),
                     MVT::v8i1, 2, 0, 1,
    0,
   16,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_orn),
                    MVT::v2i1, 2, 0, 1,
   0,
  42,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 17,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_orn),
                    MVT::v2i1, 2, 1, 0,
   17,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_orn),
                    MVT::v2i1, 2, 1, 0,
   0,
  21,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_orn),
                   MVT::v4i1, 2, 0, 1,
  42,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 17,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_orn),
                    MVT::v4i1, 2, 1, 0,
   17,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_orn),
                    MVT::v4i1, 2, 1, 0,
   0,
  21,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_orn),
                   MVT::v8i1, 2, 0, 1,
  42,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 17,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_orn),
                    MVT::v8i1, 2, 1, 0,
   17,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_orn),
                    MVT::v8i1, 2, 1, 0,
   0,
  25|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 103,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::QTRUE),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 29, MVT::v64i1,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                      MVT::v64i1, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                      MVT::v64i1, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                      MVT::v64i1, 2, 0, 1,
     0,
    8, MVT::v128i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                     MVT::v128i1, 2, 0, 1,
    29, MVT::v32i1,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                      MVT::v32i1, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                      MVT::v32i1, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                      MVT::v32i1, 2, 0, 1,
     0,
    20, MVT::v16i1,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                      MVT::v16i1, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                      MVT::v16i1, 2, 0, 1,
     0,
    0,
   41,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::QTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_SwitchType , 20, MVT::v64i1,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                      MVT::v64i1, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                      MVT::v64i1, 2, 0, 1,
     0,
    8, MVT::v128i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                     MVT::v128i1, 2, 0, 1,
    0,
   0,
  92,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 42,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::QTRUE),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 20, MVT::v64i1,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                      MVT::v64i1, 2, 1, 0,
     8,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                      MVT::v64i1, 2, 1, 0,
     0,
    8, MVT::v128i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                     MVT::v128i1, 2, 1, 0,
    0,
   42,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::QTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 20, MVT::v64i1,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                      MVT::v64i1, 2, 1, 0,
     8,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                      MVT::v64i1, 2, 1, 0,
     0,
    8, MVT::v128i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                     MVT::v128i1, 2, 1, 0,
    0,
   0,
  46,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(HexagonISD::QTRUE),
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_SwitchType , 20, MVT::v32i1,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                     MVT::v32i1, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                     MVT::v32i1, 2, 0, 1,
    0,
   8, MVT::v64i1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                    MVT::v64i1, 2, 0, 1,
   0,
  92,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 42,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::QTRUE),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 20, MVT::v32i1,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                      MVT::v32i1, 2, 1, 0,
     8,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                      MVT::v32i1, 2, 1, 0,
     0,
    8, MVT::v64i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                     MVT::v64i1, 2, 1, 0,
    0,
   42,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::QTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 20, MVT::v32i1,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                      MVT::v32i1, 2, 1, 0,
     8,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                      MVT::v32i1, 2, 1, 0,
     0,
    8, MVT::v64i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                     MVT::v64i1, 2, 1, 0,
    0,
   0,
  46,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(HexagonISD::QTRUE),
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_SwitchType , 20, MVT::v16i1,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                     MVT::v16i1, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                     MVT::v16i1, 2, 0, 1,
    0,
   8, MVT::v32i1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                    MVT::v32i1, 2, 0, 1,
   0,
  92,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 42,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::QTRUE),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 20, MVT::v16i1,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                      MVT::v16i1, 2, 1, 0,
     8,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                      MVT::v16i1, 2, 1, 0,
     0,
    8, MVT::v32i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                     MVT::v32i1, 2, 1, 0,
    0,
   42,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::QTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 20, MVT::v16i1,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                      MVT::v16i1, 2, 1, 0,
     8,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                      MVT::v16i1, 2, 1, 0,
     0,
    8, MVT::v32i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                     MVT::v32i1, 2, 1, 0,
    0,
   0,
  82,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 36, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_and),
                     MVT::v2i1, 3, 0, 1, 2,
    8, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_and),
                     MVT::v4i1, 3, 0, 1, 2,
    8, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_and),
                     MVT::v8i1, 3, 0, 1, 2,
    0,
   36, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_or),
                     MVT::v2i1, 3, 0, 1, 2,
    8, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_or),
                     MVT::v4i1, 3, 0, 1, 2,
    8, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_or),
                     MVT::v8i1, 3, 0, 1, 2,
    0,
   0,
  83,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 37, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_and),
                     MVT::v2i1, 3, 2, 0, 1,
    8, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_and),
                     MVT::v4i1, 3, 2, 0, 1,
    8, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_and),
                     MVT::v8i1, 3, 2, 0, 1,
    0,
   37, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_or),
                     MVT::v2i1, 3, 2, 0, 1,
    8, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_or),
                     MVT::v4i1, 3, 2, 0, 1,
    8, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_or),
                     MVT::v8i1, 3, 2, 0, 1,
    0,
   0,
  115|128,7,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
   OPC_RecordChild0,
   OPC_Scope, 89,
    OPC_CheckChild0Type, MVT::v64i8,
    OPC_RecordChild1,
    OPC_Scope, 27,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_or),
                      MVT::v64i1, 3, 0, 1, 2,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_or),
                      MVT::v64i1, 3, 0, 1, 2,
     0,
    27,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_or),
                      MVT::v64i1, 3, 0, 1, 2,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_or),
                      MVT::v64i1, 3, 0, 1, 2,
     0,
    27,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_or),
                      MVT::v64i1, 3, 0, 1, 2,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_or),
                      MVT::v64i1, 3, 0, 1, 2,
     0,
    0,
   50,
    OPC_CheckChild0Type, MVT::v128i8,
    OPC_RecordChild1,
    OPC_Scope, 14,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_or),
                     MVT::v128i1, 3, 0, 1, 2,
    14,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_or),
                     MVT::v128i1, 3, 0, 1, 2,
    14,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_or),
                     MVT::v128i1, 3, 0, 1, 2,
    0,
   89,
    OPC_CheckChild0Type, MVT::v32i16,
    OPC_RecordChild1,
    OPC_Scope, 27,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                      MVT::v32i1, 3, 0, 1, 2,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                      MVT::v32i1, 3, 0, 1, 2,
     0,
    27,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_or),
                      MVT::v32i1, 3, 0, 1, 2,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_or),
                      MVT::v32i1, 3, 0, 1, 2,
     0,
    27,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_or),
                      MVT::v32i1, 3, 0, 1, 2,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_or),
                      MVT::v32i1, 3, 0, 1, 2,
     0,
    0,
   50,
    OPC_CheckChild0Type, MVT::v64i16,
    OPC_RecordChild1,
    OPC_Scope, 14,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                     MVT::v64i1, 3, 0, 1, 2,
    14,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_or),
                     MVT::v64i1, 3, 0, 1, 2,
    14,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_or),
                     MVT::v64i1, 3, 0, 1, 2,
    0,
   89,
    OPC_CheckChild0Type, MVT::v16i32,
    OPC_RecordChild1,
    OPC_Scope, 27,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                      MVT::v16i1, 3, 0, 1, 2,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                      MVT::v16i1, 3, 0, 1, 2,
     0,
    27,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_or),
                      MVT::v16i1, 3, 0, 1, 2,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_or),
                      MVT::v16i1, 3, 0, 1, 2,
     0,
    27,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_or),
                      MVT::v16i1, 3, 0, 1, 2,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_or),
                      MVT::v16i1, 3, 0, 1, 2,
     0,
    0,
   50,
    OPC_CheckChild0Type, MVT::v32i32,
    OPC_RecordChild1,
    OPC_Scope, 14,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                     MVT::v32i1, 3, 0, 1, 2,
    14,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_or),
                     MVT::v32i1, 3, 0, 1, 2,
    14,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_or),
                     MVT::v32i1, 3, 0, 1, 2,
    0,
   57|128,1,
    OPC_CheckChild0Type, MVT::v32f16,
    OPC_RecordChild1,
    OPC_Scope, 29,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                      MVT::v32i1, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                      MVT::v32i1, 3, 0, 1, 2,
     0,
    29,
     OPC_CheckChild2CondCode, ISD::SETOEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                      MVT::v32i1, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                      MVT::v32i1, 3, 0, 1, 2,
     0,
    29,
     OPC_CheckChild2CondCode, ISD::SETUEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                      MVT::v32i1, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                      MVT::v32i1, 3, 0, 1, 2,
     0,
    29,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_or),
                      MVT::v32i1, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_or),
                      MVT::v32i1, 3, 0, 1, 2,
     0,
    29,
     OPC_CheckChild2CondCode, ISD::SETOGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_or),
                      MVT::v32i1, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_or),
                      MVT::v32i1, 3, 0, 1, 2,
     0,
    29,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_or),
                      MVT::v32i1, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_or),
                      MVT::v32i1, 3, 0, 1, 2,
     0,
    0,
   101,
    OPC_CheckChild0Type, MVT::v64f16,
    OPC_RecordChild1,
    OPC_Scope, 15,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                     MVT::v64i1, 3, 0, 1, 2,
    15,
     OPC_CheckChild2CondCode, ISD::SETOEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                     MVT::v64i1, 3, 0, 1, 2,
    15,
     OPC_CheckChild2CondCode, ISD::SETUEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                     MVT::v64i1, 3, 0, 1, 2,
    15,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_or),
                     MVT::v64i1, 3, 0, 1, 2,
    15,
     OPC_CheckChild2CondCode, ISD::SETOGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_or),
                     MVT::v64i1, 3, 0, 1, 2,
    15,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_or),
                     MVT::v64i1, 3, 0, 1, 2,
    0,
   58|128,1,
    OPC_CheckChild0Type, 13|128,1,
    OPC_RecordChild1,
    OPC_Scope, 29,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                      MVT::v16i1, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                      MVT::v16i1, 3, 0, 1, 2,
     0,
    29,
     OPC_CheckChild2CondCode, ISD::SETOEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                      MVT::v16i1, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                      MVT::v16i1, 3, 0, 1, 2,
     0,
    29,
     OPC_CheckChild2CondCode, ISD::SETUEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                      MVT::v16i1, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                      MVT::v16i1, 3, 0, 1, 2,
     0,
    29,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_or),
                      MVT::v16i1, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_or),
                      MVT::v16i1, 3, 0, 1, 2,
     0,
    29,
     OPC_CheckChild2CondCode, ISD::SETOGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_or),
                      MVT::v16i1, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_or),
                      MVT::v16i1, 3, 0, 1, 2,
     0,
    29,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_or),
                      MVT::v16i1, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_or),
                      MVT::v16i1, 3, 0, 1, 2,
     0,
    0,
   102,
    OPC_CheckChild0Type, 14|128,1,
    OPC_RecordChild1,
    OPC_Scope, 15,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                     MVT::v32i1, 3, 0, 1, 2,
    15,
     OPC_CheckChild2CondCode, ISD::SETOEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                     MVT::v32i1, 3, 0, 1, 2,
    15,
     OPC_CheckChild2CondCode, ISD::SETUEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                     MVT::v32i1, 3, 0, 1, 2,
    15,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_or),
                     MVT::v32i1, 3, 0, 1, 2,
    15,
     OPC_CheckChild2CondCode, ISD::SETOGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_or),
                     MVT::v32i1, 3, 0, 1, 2,
    15,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_or),
                     MVT::v32i1, 3, 0, 1, 2,
    0,
   0,
  28|128,8,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
   OPC_RecordChild0,
   OPC_Scope, 92,
    OPC_CheckChild0Type, MVT::v64i8,
    OPC_RecordChild1,
    OPC_Scope, 28,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_or),
                      MVT::v64i1, 3, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_or),
                      MVT::v64i1, 3, 2, 0, 1,
     0,
    28,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_or),
                      MVT::v64i1, 3, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_or),
                      MVT::v64i1, 3, 2, 0, 1,
     0,
    28,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_or),
                      MVT::v64i1, 3, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_or),
                      MVT::v64i1, 3, 2, 0, 1,
     0,
    0,
   53,
    OPC_CheckChild0Type, MVT::v128i8,
    OPC_RecordChild1,
    OPC_Scope, 15,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v128i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_or),
                     MVT::v128i1, 3, 2, 0, 1,
    15,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v128i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_or),
                     MVT::v128i1, 3, 2, 0, 1,
    15,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v128i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_or),
                     MVT::v128i1, 3, 2, 0, 1,
    0,
   92,
    OPC_CheckChild0Type, MVT::v32i16,
    OPC_RecordChild1,
    OPC_Scope, 28,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                      MVT::v32i1, 3, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                      MVT::v32i1, 3, 2, 0, 1,
     0,
    28,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_or),
                      MVT::v32i1, 3, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_or),
                      MVT::v32i1, 3, 2, 0, 1,
     0,
    28,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_or),
                      MVT::v32i1, 3, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_or),
                      MVT::v32i1, 3, 2, 0, 1,
     0,
    0,
   53,
    OPC_CheckChild0Type, MVT::v64i16,
    OPC_RecordChild1,
    OPC_Scope, 15,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                     MVT::v64i1, 3, 2, 0, 1,
    15,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_or),
                     MVT::v64i1, 3, 2, 0, 1,
    15,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_or),
                     MVT::v64i1, 3, 2, 0, 1,
    0,
   92,
    OPC_CheckChild0Type, MVT::v16i32,
    OPC_RecordChild1,
    OPC_Scope, 28,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                      MVT::v16i1, 3, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                      MVT::v16i1, 3, 2, 0, 1,
     0,
    28,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_or),
                      MVT::v16i1, 3, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_or),
                      MVT::v16i1, 3, 2, 0, 1,
     0,
    28,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_or),
                      MVT::v16i1, 3, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_or),
                      MVT::v16i1, 3, 2, 0, 1,
     0,
    0,
   53,
    OPC_CheckChild0Type, MVT::v32i32,
    OPC_RecordChild1,
    OPC_Scope, 15,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                     MVT::v32i1, 3, 2, 0, 1,
    15,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_or),
                     MVT::v32i1, 3, 2, 0, 1,
    15,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_or),
                     MVT::v32i1, 3, 2, 0, 1,
    0,
   63|128,1,
    OPC_CheckChild0Type, MVT::v32f16,
    OPC_RecordChild1,
    OPC_Scope, 30,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                      MVT::v32i1, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                      MVT::v32i1, 3, 2, 0, 1,
     0,
    30,
     OPC_CheckChild2CondCode, ISD::SETOEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                      MVT::v32i1, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                      MVT::v32i1, 3, 2, 0, 1,
     0,
    30,
     OPC_CheckChild2CondCode, ISD::SETUEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                      MVT::v32i1, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                      MVT::v32i1, 3, 2, 0, 1,
     0,
    30,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_or),
                      MVT::v32i1, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_or),
                      MVT::v32i1, 3, 2, 0, 1,
     0,
    30,
     OPC_CheckChild2CondCode, ISD::SETOGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_or),
                      MVT::v32i1, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_or),
                      MVT::v32i1, 3, 2, 0, 1,
     0,
    30,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_or),
                      MVT::v32i1, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_or),
                      MVT::v32i1, 3, 2, 0, 1,
     0,
    0,
   107,
    OPC_CheckChild0Type, MVT::v64f16,
    OPC_RecordChild1,
    OPC_Scope, 16,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                     MVT::v64i1, 3, 2, 0, 1,
    16,
     OPC_CheckChild2CondCode, ISD::SETOEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                     MVT::v64i1, 3, 2, 0, 1,
    16,
     OPC_CheckChild2CondCode, ISD::SETUEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                     MVT::v64i1, 3, 2, 0, 1,
    16,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_or),
                     MVT::v64i1, 3, 2, 0, 1,
    16,
     OPC_CheckChild2CondCode, ISD::SETOGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_or),
                     MVT::v64i1, 3, 2, 0, 1,
    16,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_or),
                     MVT::v64i1, 3, 2, 0, 1,
    0,
   64|128,1,
    OPC_CheckChild0Type, 13|128,1,
    OPC_RecordChild1,
    OPC_Scope, 30,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                      MVT::v16i1, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                      MVT::v16i1, 3, 2, 0, 1,
     0,
    30,
     OPC_CheckChild2CondCode, ISD::SETOEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                      MVT::v16i1, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                      MVT::v16i1, 3, 2, 0, 1,
     0,
    30,
     OPC_CheckChild2CondCode, ISD::SETUEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                      MVT::v16i1, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                      MVT::v16i1, 3, 2, 0, 1,
     0,
    30,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_or),
                      MVT::v16i1, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_or),
                      MVT::v16i1, 3, 2, 0, 1,
     0,
    30,
     OPC_CheckChild2CondCode, ISD::SETOGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_or),
                      MVT::v16i1, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_or),
                      MVT::v16i1, 3, 2, 0, 1,
     0,
    30,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_or),
                      MVT::v16i1, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_or),
                      MVT::v16i1, 3, 2, 0, 1,
     0,
    0,
   108,
    OPC_CheckChild0Type, 14|128,1,
    OPC_RecordChild1,
    OPC_Scope, 16,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                     MVT::v32i1, 3, 2, 0, 1,
    16,
     OPC_CheckChild2CondCode, ISD::SETOEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                     MVT::v32i1, 3, 2, 0, 1,
    16,
     OPC_CheckChild2CondCode, ISD::SETUEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                     MVT::v32i1, 3, 2, 0, 1,
    16,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_or),
                     MVT::v32i1, 3, 2, 0, 1,
    16,
     OPC_CheckChild2CondCode, ISD::SETOGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_or),
                     MVT::v32i1, 3, 2, 0, 1,
    16,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_or),
                     MVT::v32i1, 3, 2, 0, 1,
    0,
   0,
  10|128,2,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 7, MVT::v2i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_or),
                    MVT::v2i1, 2, 0, 1,
   7, MVT::v4i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_or),
                    MVT::v4i1, 2, 0, 1,
   7, MVT::v8i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_or),
                    MVT::v8i1, 2, 0, 1,
   7, MVT::v4i8,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_or),
                    MVT::v4i8, 2, 0, 1,
   7, MVT::v2i16,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_or),
                    MVT::v2i16, 2, 0, 1,
   7, MVT::v8i8,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_orp),
                    MVT::v8i8, 2, 0, 1,
   7, MVT::v4i16,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_orp),
                    MVT::v4i16, 2, 0, 1,
   7, MVT::v2i32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_orp),
                    MVT::v2i32, 2, 0, 1,
   20, MVT::v64i8,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vor),
                     MVT::v64i8, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vor),
                     MVT::v64i8, 2, 0, 1,
    0,
   8, MVT::v128i8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v128i8, 2, 0, 1,
   20, MVT::v32i16,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vor),
                     MVT::v32i16, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vor),
                     MVT::v32i16, 2, 0, 1,
    0,
   8, MVT::v64i16,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v64i16, 2, 0, 1,
   20, MVT::v16i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vor),
                     MVT::v16i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vor),
                     MVT::v16i32, 2, 0, 1,
    0,
   8, MVT::v32i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v32i32, 2, 0, 1,
   29, MVT::v64i1,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or),
                     MVT::v64i1, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or),
                     MVT::v64i1, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or),
                     MVT::v64i1, 2, 0, 1,
    0,
   8, MVT::v128i1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or),
                    MVT::v128i1, 2, 0, 1,
   29, MVT::v32i1,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or),
                     MVT::v32i1, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or),
                     MVT::v32i1, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or),
                     MVT::v32i1, 2, 0, 1,
    0,
   20, MVT::v16i1,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or),
                     MVT::v16i1, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or),
                     MVT::v16i1, 2, 0, 1,
    0,
   0,
  0,
 40|128,0|128,1, TARGET_VAL(ISD::ADD),
  OPC_Scope, 62,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 26, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 22,
    OPC_CheckComplexPat3, /*#*/0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_addi_asl_ri),
                    MVT::i32, 3, 3, 1, 4,
   26, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 22,
    OPC_CheckComplexPat3, /*#*/0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_addi_lsr_ri),
                    MVT::i32, 3, 3, 1, 4,
   0,
  63,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 27, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 22,
    OPC_CheckComplexPat3, /*#*/2,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_addi_asl_ri),
                    MVT::i32, 3, 3, 0, 4,
   27, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 22,
    OPC_CheckComplexPat3, /*#*/2,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_addi_lsr_ri),
                    MVT::i32, 3, 3, 0, 4,
   0,
  26,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 35,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_addasl_rrri),
                   MVT::i32, 3, 0, 1, 3,
  26,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 35,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_addasl_rrri),
                   MVT::i32, 3, 2, 0, 3,
  56|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 41, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 15,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_r_acc),
                     MVT::i32, 3, 0, 1, 3,
    15,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_p_acc),
                     MVT::i64, 3, 0, 1, 3,
    0,
   41, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 15,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_r_acc),
                     MVT::i32, 3, 0, 1, 3,
    15,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_p_acc),
                     MVT::i64, 3, 0, 1, 3,
    0,
   41, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 15,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_r_acc),
                     MVT::i32, 3, 0, 1, 3,
    15,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_p_acc),
                     MVT::i64, 3, 0, 1, 3,
    0,
   45, TARGET_VAL(ISD::ROTL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 17,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 30,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_r_acc),
                     MVT::i32, 3, 0, 1, 3,
    17,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 30,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_p_acc),
                     MVT::i64, 3, 0, 1, 3,
    0,
   0,
  63|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 43, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 16,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_r_acc),
                     MVT::i32, 3, 2, 0, 3,
    16,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_p_acc),
                     MVT::i64, 3, 2, 0, 3,
    0,
   43, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 16,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_r_acc),
                     MVT::i32, 3, 2, 0, 3,
    16,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_p_acc),
                     MVT::i64, 3, 2, 0, 3,
    0,
   43, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 16,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_r_acc),
                     MVT::i32, 3, 2, 0, 3,
    16,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_p_acc),
                     MVT::i64, 3, 2, 0, 3,
    0,
   47, TARGET_VAL(ISD::ROTL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 18,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 30,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_r_acc),
                     MVT::i32, 3, 2, 0, 3,
    18,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 30,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_p_acc),
                     MVT::i64, 3, 2, 0, 3,
    0,
   0,
  94,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 27, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_r_acc),
                     MVT::i32, 3, 0, 1, 2,
    8, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_p_acc),
                     MVT::i64, 3, 0, 1, 2,
    0,
   27, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_r_acc),
                     MVT::i32, 3, 0, 1, 2,
    8, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_p_acc),
                     MVT::i64, 3, 0, 1, 2,
    0,
   27, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_r_acc),
                     MVT::i32, 3, 0, 1, 2,
    8, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_p_acc),
                     MVT::i64, 3, 0, 1, 2,
    0,
   0,
  96,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 28, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_r_acc),
                     MVT::i32, 3, 2, 0, 1,
    8, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_p_acc),
                     MVT::i64, 3, 2, 0, 1,
    0,
   28, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_r_acc),
                     MVT::i32, 3, 2, 0, 1,
    8, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_p_acc),
                     MVT::i64, 3, 2, 0, 1,
    0,
   28, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_r_acc),
                     MVT::i32, 3, 2, 0, 1,
    8, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_p_acc),
                     MVT::i64, 3, 2, 0, 1,
    0,
   0,
  58,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 31, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 22,
    OPC_Scope, 10,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_addaddi),
                     MVT::i32, 3, 0, 1, 3,
    10,
     OPC_CheckComplexPat3, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_addaddi),
                     MVT::i32, 3, 1, 2, 3,
    0,
   17, TARGET_VAL(ISD::SUB),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 22,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_subaddi),
                    MVT::i32, 3, 0, 3, 2,
   0,
  22,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 22,
   OPC_CheckComplexPat3, /*#*/2,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_subaddi),
                   MVT::i32, 3, 0, 3, 1,
  22,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 22,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_addaddi),
                   MVT::i32, 3, 0, 2, 3,
  70,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 43, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 22,
    OPC_Scope, 10,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_addaddi),
                     MVT::i32, 3, 2, 0, 3,
    10,
     OPC_CheckComplexPat3, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_addaddi),
                     MVT::i32, 3, 2, 1, 3,
    10,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_addaddi),
                     MVT::i32, 3, 0, 1, 3,
    0,
   18, TARGET_VAL(ISD::SUB),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 22,
    OPC_CheckComplexPat3, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_subaddi),
                    MVT::i32, 3, 2, 3, 1,
   0,
  22,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 22,
   OPC_CheckComplexPat3, /*#*/0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_subaddi),
                   MVT::i32, 3, 1, 3, 2,
  30,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 22,
   OPC_CheckComplexPat3, /*#*/2,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_mpyri_addi),
                   MVT::i32, 3, 3, 0, 4,
  30,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 22,
   OPC_CheckComplexPat3, /*#*/0,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_mpyri_addi),
                   MVT::i32, 3, 3, 1, 4,
  22,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 22,
   OPC_CheckComplexPat3, /*#*/2,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_mpyrr_addi),
                   MVT::i32, 3, 3, 0, 1,
  45,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 15,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 22,
    OPC_CheckComplexPat3, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_mpyrr_addi),
                    MVT::i32, 3, 3, 1, 2,
   19,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 32,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_macsip),
                    MVT::i32, 3, 0, 1, 3,
   0,
  26,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 32,
   OPC_MoveParent,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_macsip),
                   MVT::i32, 3, 2, 0, 3,
  42,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckTypeI64,
   OPC_CheckComplexPat, /*CP*/8, /*#*/1,
   OPC_CheckComplexPat, /*CP*/8, /*#*/2,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 3, 5,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 4, 7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_dpmpyss_acc_s0),
                   MVT::i64, 3, 0, 6, 8,
  42,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI64,
   OPC_CheckComplexPat, /*CP*/8, /*#*/0,
   OPC_CheckComplexPat, /*CP*/8, /*#*/1,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 3, 5,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 4, 7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_dpmpyss_acc_s0),
                   MVT::i64, 3, 2, 6, 8,
  18,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_maci),
                   MVT::i32, 3, 0, 1, 2,
  18,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_maci),
                   MVT::i32, 3, 2, 0, 1,
  75,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_Scope, 49,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 20, TARGET_VAL(ISD::ANY_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_dpmpyuu_acc_s0),
                     MVT::i64, 3, 0, 1, 2,
    20, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_dpmpyuu_acc_s0),
                     MVT::i64, 3, 0, 1, 2,
    0,
   17,
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 22,
    OPC_CheckComplexPat3, /*#*/2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_mpyri_addr),
                    MVT::i32, 3, 0, 1, 3,
   0,
  55,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 21, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_dpmpyuu_acc_s0),
                    MVT::i64, 3, 2, 0, 1,
   21, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_dpmpyuu_acc_s0),
                    MVT::i64, 3, 2, 0, 1,
   0,
  22,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 22,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_mpyri_addr),
                   MVT::i32, 3, 0, 2, 3,
  36,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 22,
   OPC_Scope, 10,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_mpyri_addr),
                    MVT::i32, 3, 2, 0, 3,
   10,
    OPC_CheckComplexPat3, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_mpyri_addr),
                    MVT::i32, 3, 2, 1, 3,
   0,
  54,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 21, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 26,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_accii),
                    MVT::i32, 3, 0, 1, 3,
   23, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 20,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_mpyri_addr_u2),
                    MVT::i32, 3, 0, 3, 1,
   0,
  55,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 22, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 26,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_accii),
                    MVT::i32, 3, 2, 0, 3,
   24, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 20,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_mpyri_addr_u2),
                    MVT::i32, 3, 2, 3, 0,
   0,
  124,
   OPC_RecordChild0,
   OPC_Scope, 71,
    OPC_RecordChild1,
    OPC_SwitchType , 22, MVT::i32,
     OPC_Scope, 9,
      OPC_CheckComplexPat3, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_addi),
                      MVT::i32, 2, 0, 2,
     9,
      OPC_CheckComplexPat3, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_addi),
                      MVT::i32, 2, 1, 2,
     0,
    42, MVT::i64,
     OPC_Scope, 19,
      OPC_CheckComplexPat, /*CP*/8, /*#*/0,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_addsp),
                      MVT::i64, 2, 4, 1,
     19,
      OPC_CheckComplexPat, /*CP*/8, /*#*/1,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::i32, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_addsp),
                      MVT::i64, 2, 4, 0,
     0,
    0,
   10,
    OPC_CheckChild1Integer, 127,
    OPC_CheckType, MVT::i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                    MVT::i1, 1, 0,
   37,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 13, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_acci),
                     MVT::i32, 3, 0, 1, 2,
    15, TARGET_VAL(ISD::MUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 22,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_mpyrr_addr),
                     MVT::i32, 3, 0, 1, 2,
    0,
   0,
  39,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 14, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_acci),
                    MVT::i32, 3, 2, 0, 1,
   16, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 22,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_mpyrr_addr),
                    MVT::i32, 3, 2, 0, 1,
   0,
  8|128,28,
   OPC_RecordChild0,
   OPC_Scope, 30,
    OPC_RecordChild1,
    OPC_SwitchType , 7, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_add),
                     MVT::i32, 2, 0, 1,
    7, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_addp),
                     MVT::i64, 2, 0, 1,
    7, MVT::i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_xor),
                     MVT::i1, 2, 0, 1,
    0,
   100|128,27,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 38|128,9, TARGET_VAL(ISD::ADD),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 17|128,6, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_Scope, 127|128,1,
       OPC_CheckChild0Type, MVT::v64i8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v64i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v64i16,
       OPC_Scope, 119,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 5,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                        MVT::v128i8, 3, 9, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 15,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                        MVT::v128i8, 3, 19, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 20, 21,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v64i16, 3, 12, 22, 24,
       119,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 5,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                        MVT::v128i8, 3, 9, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 15,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                        MVT::v128i8, 3, 19, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 20, 21,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v64i16, 3, 12, 22, 24,
       0,
      4|128,1,
       OPC_CheckChild0Type, MVT::v128i8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v128i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v128i16,
       OPC_CheckPatternPredicate4,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 0, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 0, 5,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v256i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                       MVT::v256i8, 3, 9, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 0, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 0, 15,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v256i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                       MVT::v256i8, 3, 19, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 20, 21,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v128i16, 3, 12, 22, 24,
      127|128,1,
       OPC_CheckChild0Type, MVT::v32i16,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v32i16,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v32i32,
       OPC_Scope, 119,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 5,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                        MVT::v128i8, 3, 9, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 15,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                        MVT::v128i8, 3, 19, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 20, 21,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v32i32, 3, 12, 22, 24,
       119,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 5,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                        MVT::v128i8, 3, 9, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 15,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                        MVT::v128i8, 3, 19, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 20, 21,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v32i32, 3, 12, 22, 24,
       0,
      4|128,1,
       OPC_CheckChild0Type, MVT::v64i16,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v64i16,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v64i32,
       OPC_CheckPatternPredicate4,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 0, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 0, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v256i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                       MVT::v256i8, 3, 9, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 0, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 0, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v256i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                       MVT::v256i8, 3, 19, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v64i32, 3, 12, 22, 24,
      0,
     10|128,3, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_Scope, 127|128,1,
       OPC_CheckChild0Type, MVT::v32i16,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v32i16,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v32i32,
       OPC_Scope, 119,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 5,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                        MVT::v128i8, 3, 9, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 15,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                        MVT::v128i8, 3, 19, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 20, 21,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v32i32, 3, 12, 22, 24,
       119,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 5,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                        MVT::v128i8, 3, 9, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 15,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                        MVT::v128i8, 3, 19, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 20, 21,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v32i32, 3, 12, 22, 24,
       0,
      4|128,1,
       OPC_CheckChild0Type, MVT::v64i16,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v64i16,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v64i32,
       OPC_CheckPatternPredicate4,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 0, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 0, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v256i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                       MVT::v256i8, 3, 9, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 0, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 0, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v256i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                       MVT::v256i8, 3, 19, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v64i32, 3, 12, 22, 24,
      0,
     0,
    51|128,18, TARGET_VAL(ISD::MUL),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 20|128,9, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_Scope, 127|128,1,
       OPC_CheckChild0Type, MVT::v64i8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v64i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v64i16,
       OPC_Scope, 119,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 5,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv_acc),
                        MVT::v128i8, 3, 9, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 15,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv_acc),
                        MVT::v128i8, 3, 19, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 20, 21,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v64i16, 3, 12, 22, 24,
       119,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 5,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv_acc),
                        MVT::v128i8, 3, 9, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 15,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv_acc),
                        MVT::v128i8, 3, 19, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 20, 21,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v64i16, 3, 12, 22, 24,
       0,
      4|128,1,
       OPC_CheckChild0Type, MVT::v128i8,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v128i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v128i16,
       OPC_CheckPatternPredicate4,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 0, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 0, 5,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v256i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv_acc),
                       MVT::v256i8, 3, 9, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 0, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 0, 15,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v256i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv_acc),
                       MVT::v256i8, 3, 19, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 20, 21,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v128i16, 3, 12, 22, 24,
      127|128,3,
       OPC_CheckChild0Type, MVT::v32i16,
       OPC_MoveSibling1,
       OPC_SwitchOpcode , 121|128,1, TARGET_VAL(ISD::SIGN_EXTEND),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v32i16,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v32i32,
        OPC_Scope, 119,
         OPC_CheckPatternPredicate2,
         OPC_EmitIntegerI32, Hexagon::vsub_hi,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 3,
         OPC_EmitIntegerI32, Hexagon::vsub_lo,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 5,
         OPC_EmitIntegerI32, 124,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                         MVT::i32, 1, 7,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                         MVT::v128i8, 3, 4, 6, 8,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhv_acc),
                         MVT::v128i8, 3, 9, 1, 2,
         OPC_EmitIntegerI32, Hexagon::vsub_hi,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 10, 11,
         OPC_EmitIntegerI32, Hexagon::vsub_hi,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 13,
         OPC_EmitIntegerI32, Hexagon::vsub_lo,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 15,
         OPC_EmitIntegerI32, 124,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                         MVT::i32, 1, 17,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                         MVT::v128i8, 3, 14, 16, 18,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhv_acc),
                         MVT::v128i8, 3, 19, 1, 2,
         OPC_EmitIntegerI32, Hexagon::vsub_lo,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 20, 21,
         OPC_EmitIntegerI32, 124,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                         MVT::i32, 1, 23,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                         MVT::v32i32, 3, 12, 22, 24,
        119,
         OPC_CheckPatternPredicate3,
         OPC_EmitIntegerI32, Hexagon::vsub_hi,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 3,
         OPC_EmitIntegerI32, Hexagon::vsub_lo,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 5,
         OPC_EmitIntegerI32, 124,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                         MVT::i32, 1, 7,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                         MVT::v128i8, 3, 4, 6, 8,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhv_acc),
                         MVT::v128i8, 3, 9, 1, 2,
         OPC_EmitIntegerI32, Hexagon::vsub_hi,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 10, 11,
         OPC_EmitIntegerI32, Hexagon::vsub_hi,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 13,
         OPC_EmitIntegerI32, Hexagon::vsub_lo,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 15,
         OPC_EmitIntegerI32, 124,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                         MVT::i32, 1, 17,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                         MVT::v128i8, 3, 14, 16, 18,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhv_acc),
                         MVT::v128i8, 3, 19, 1, 2,
         OPC_EmitIntegerI32, Hexagon::vsub_lo,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 20, 21,
         OPC_EmitIntegerI32, 124,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                         MVT::i32, 1, 23,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                         MVT::v32i32, 3, 12, 22, 24,
        0,
       121|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v32i16,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v32i32,
        OPC_Scope, 119,
         OPC_CheckPatternPredicate2,
         OPC_EmitIntegerI32, Hexagon::vsub_hi,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 3,
         OPC_EmitIntegerI32, Hexagon::vsub_lo,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 5,
         OPC_EmitIntegerI32, 124,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                         MVT::i32, 1, 7,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                         MVT::v128i8, 3, 4, 6, 8,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                         MVT::v128i8, 3, 9, 1, 2,
         OPC_EmitIntegerI32, Hexagon::vsub_hi,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 10, 11,
         OPC_EmitIntegerI32, Hexagon::vsub_hi,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 13,
         OPC_EmitIntegerI32, Hexagon::vsub_lo,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 15,
         OPC_EmitIntegerI32, 124,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                         MVT::i32, 1, 17,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                         MVT::v128i8, 3, 14, 16, 18,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                         MVT::v128i8, 3, 19, 1, 2,
         OPC_EmitIntegerI32, Hexagon::vsub_lo,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 20, 21,
         OPC_EmitIntegerI32, 124,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                         MVT::i32, 1, 23,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                         MVT::v32i32, 3, 12, 22, 24,
        119,
         OPC_CheckPatternPredicate3,
         OPC_EmitIntegerI32, Hexagon::vsub_hi,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 3,
         OPC_EmitIntegerI32, Hexagon::vsub_lo,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 5,
         OPC_EmitIntegerI32, 124,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                         MVT::i32, 1, 7,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                         MVT::v128i8, 3, 4, 6, 8,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                         MVT::v128i8, 3, 9, 1, 2,
         OPC_EmitIntegerI32, Hexagon::vsub_hi,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 10, 11,
         OPC_EmitIntegerI32, Hexagon::vsub_hi,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 13,
         OPC_EmitIntegerI32, Hexagon::vsub_lo,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 15,
         OPC_EmitIntegerI32, 124,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                         MVT::i32, 1, 17,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                         MVT::v128i8, 3, 14, 16, 18,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                         MVT::v128i8, 3, 19, 1, 2,
         OPC_EmitIntegerI32, Hexagon::vsub_lo,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 20, 21,
         OPC_EmitIntegerI32, 124,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                         MVT::i32, 1, 23,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                         MVT::v32i32, 3, 12, 22, 24,
        0,
       0,
      7|128,2,
       OPC_CheckChild0Type, MVT::v64i16,
       OPC_MoveSibling1,
       OPC_SwitchOpcode , 126, TARGET_VAL(ISD::SIGN_EXTEND),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v64i16,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v64i32,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v128i8, 2, 0, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v128i8, 2, 0, 5,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v256i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhv_acc),
                        MVT::v256i8, 3, 9, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v128i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v128i8, 2, 0, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v128i8, 2, 0, 15,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v256i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhv_acc),
                        MVT::v256i8, 3, 19, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v128i8, 2, 20, 21,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v64i32, 3, 12, 22, 24,
       126, TARGET_VAL(ISD::ZERO_EXTEND),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v64i16,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v64i32,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v128i8, 2, 0, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v128i8, 2, 0, 5,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v256i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                        MVT::v256i8, 3, 9, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v128i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v128i8, 2, 0, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v128i8, 2, 0, 15,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v256i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                        MVT::v256i8, 3, 19, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v128i8, 2, 20, 21,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v64i32, 3, 12, 22, 24,
       0,
      0,
     20|128,9, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_Scope, 127|128,3,
       OPC_CheckChild0Type, MVT::v64i8,
       OPC_MoveSibling1,
       OPC_SwitchOpcode , 121|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v64i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v64i16,
        OPC_Scope, 119,
         OPC_CheckPatternPredicate2,
         OPC_EmitIntegerI32, Hexagon::vsub_hi,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 3,
         OPC_EmitIntegerI32, Hexagon::vsub_lo,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 5,
         OPC_EmitIntegerI32, 126,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                         MVT::i32, 1, 7,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                         MVT::v128i8, 3, 4, 6, 8,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyubv_acc),
                         MVT::v128i8, 3, 9, 1, 2,
         OPC_EmitIntegerI32, Hexagon::vsub_hi,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 10, 11,
         OPC_EmitIntegerI32, Hexagon::vsub_hi,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 13,
         OPC_EmitIntegerI32, Hexagon::vsub_lo,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 15,
         OPC_EmitIntegerI32, 126,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                         MVT::i32, 1, 17,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                         MVT::v128i8, 3, 14, 16, 18,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyubv_acc),
                         MVT::v128i8, 3, 19, 1, 2,
         OPC_EmitIntegerI32, Hexagon::vsub_lo,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 20, 21,
         OPC_EmitIntegerI32, 126,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                         MVT::i32, 1, 23,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                         MVT::v64i16, 3, 12, 22, 24,
        119,
         OPC_CheckPatternPredicate3,
         OPC_EmitIntegerI32, Hexagon::vsub_hi,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 3,
         OPC_EmitIntegerI32, Hexagon::vsub_lo,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 5,
         OPC_EmitIntegerI32, 126,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                         MVT::i32, 1, 7,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                         MVT::v128i8, 3, 4, 6, 8,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyubv_acc),
                         MVT::v128i8, 3, 9, 1, 2,
         OPC_EmitIntegerI32, Hexagon::vsub_hi,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 10, 11,
         OPC_EmitIntegerI32, Hexagon::vsub_hi,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 13,
         OPC_EmitIntegerI32, Hexagon::vsub_lo,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 15,
         OPC_EmitIntegerI32, 126,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                         MVT::i32, 1, 17,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                         MVT::v128i8, 3, 14, 16, 18,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyubv_acc),
                         MVT::v128i8, 3, 19, 1, 2,
         OPC_EmitIntegerI32, Hexagon::vsub_lo,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 20, 21,
         OPC_EmitIntegerI32, 126,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                         MVT::i32, 1, 23,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                         MVT::v64i16, 3, 12, 22, 24,
        0,
       121|128,1, TARGET_VAL(ISD::SIGN_EXTEND),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v64i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v64i16,
        OPC_Scope, 119,
         OPC_CheckPatternPredicate2,
         OPC_EmitIntegerI32, Hexagon::vsub_hi,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 3,
         OPC_EmitIntegerI32, Hexagon::vsub_lo,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 5,
         OPC_EmitIntegerI32, 126,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                         MVT::i32, 1, 7,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                         MVT::v128i8, 3, 4, 6, 8,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                         MVT::v128i8, 3, 9, 1, 2,
         OPC_EmitIntegerI32, Hexagon::vsub_hi,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 10, 11,
         OPC_EmitIntegerI32, Hexagon::vsub_hi,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 13,
         OPC_EmitIntegerI32, Hexagon::vsub_lo,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 15,
         OPC_EmitIntegerI32, 126,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                         MVT::i32, 1, 17,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                         MVT::v128i8, 3, 14, 16, 18,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                         MVT::v128i8, 3, 19, 1, 2,
         OPC_EmitIntegerI32, Hexagon::vsub_lo,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 20, 21,
         OPC_EmitIntegerI32, 126,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                         MVT::i32, 1, 23,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                         MVT::v64i16, 3, 12, 22, 24,
        119,
         OPC_CheckPatternPredicate3,
         OPC_EmitIntegerI32, Hexagon::vsub_hi,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 3,
         OPC_EmitIntegerI32, Hexagon::vsub_lo,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 5,
         OPC_EmitIntegerI32, 126,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                         MVT::i32, 1, 7,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                         MVT::v128i8, 3, 4, 6, 8,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                         MVT::v128i8, 3, 9, 1, 2,
         OPC_EmitIntegerI32, Hexagon::vsub_hi,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 10, 11,
         OPC_EmitIntegerI32, Hexagon::vsub_hi,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 13,
         OPC_EmitIntegerI32, Hexagon::vsub_lo,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 0, 15,
         OPC_EmitIntegerI32, 126,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                         MVT::i32, 1, 17,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                         MVT::v128i8, 3, 14, 16, 18,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                         MVT::v128i8, 3, 19, 1, 2,
         OPC_EmitIntegerI32, Hexagon::vsub_lo,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                         MVT::v64i8, 2, 20, 21,
         OPC_EmitIntegerI32, 126,
         OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                         MVT::i32, 1, 23,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                         MVT::v64i16, 3, 12, 22, 24,
        0,
       0,
      7|128,2,
       OPC_CheckChild0Type, MVT::v128i8,
       OPC_MoveSibling1,
       OPC_SwitchOpcode , 126, TARGET_VAL(ISD::ZERO_EXTEND),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v128i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v128i16,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v128i8, 2, 0, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v128i8, 2, 0, 5,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v256i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyubv_acc),
                        MVT::v256i8, 3, 9, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v128i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v128i8, 2, 0, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v128i8, 2, 0, 15,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v256i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyubv_acc),
                        MVT::v256i8, 3, 19, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v128i8, 2, 20, 21,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v128i16, 3, 12, 22, 24,
       126, TARGET_VAL(ISD::SIGN_EXTEND),
        OPC_RecordChild0,
        OPC_CheckChild0Type, MVT::v128i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v128i16,
        OPC_CheckPatternPredicate4,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v128i8, 2, 0, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v128i8, 2, 0, 5,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v256i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                        MVT::v256i8, 3, 9, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v128i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v128i8, 2, 0, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v128i8, 2, 0, 15,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v256i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                        MVT::v256i8, 3, 19, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v128i8, 2, 20, 21,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v128i16, 3, 12, 22, 24,
       0,
      127|128,1,
       OPC_CheckChild0Type, MVT::v32i16,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v32i16,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v32i32,
       OPC_Scope, 119,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 5,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyuhv_acc),
                        MVT::v128i8, 3, 9, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 15,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyuhv_acc),
                        MVT::v128i8, 3, 19, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 20, 21,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v32i32, 3, 12, 22, 24,
       119,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 5,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyuhv_acc),
                        MVT::v128i8, 3, 9, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 0, 15,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyuhv_acc),
                        MVT::v128i8, 3, 19, 1, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 20, 21,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v32i32, 3, 12, 22, 24,
       0,
      4|128,1,
       OPC_CheckChild0Type, MVT::v64i16,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v64i16,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v64i32,
       OPC_CheckPatternPredicate4,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 0, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 0, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v256i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyuhv_acc),
                       MVT::v256i8, 3, 9, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 0, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 0, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v256i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyuhv_acc),
                       MVT::v256i8, 3, 19, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v64i32, 3, 12, 22, 24,
      0,
     0,
    0,
   0,
  58|128,59,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 18|128,28, TARGET_VAL(ISD::ADD),
    OPC_Scope, 15|128,3,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_Scope, 127|128,1,
      OPC_CheckChild0Type, MVT::v64i8,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v64i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i16,
      OPC_Scope, 119,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 0, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 0, 5,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                       MVT::v128i8, 3, 9, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 0, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 0, 15,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                       MVT::v128i8, 3, 19, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v64i16, 3, 12, 22, 24,
      119,
       OPC_CheckPatternPredicate3,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 0, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 0, 5,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                       MVT::v128i8, 3, 9, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 0, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 0, 15,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                       MVT::v128i8, 3, 19, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v64i16, 3, 12, 22, 24,
      0,
     4|128,1,
      OPC_CheckChild0Type, MVT::v128i8,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v128i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v128i16,
      OPC_CheckPatternPredicate4,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 0, 3,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 0, 5,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 4, 6, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                      MVT::v256i8, 3, 9, 1, 2,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 10, 11,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 0, 13,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 0, 15,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 17,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 14, 16, 18,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                      MVT::v256i8, 3, 19, 1, 2,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 20, 21,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 23,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v128i16, 3, 12, 22, 24,
     0,
    29|128,6,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_Scope, 4|128,4,
      OPC_CheckChild0Type, MVT::v64i8,
      OPC_Scope, 126|128,1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v64i8,
       OPC_MoveParent,
       OPC_CheckType, MVT::v64i16,
       OPC_Scope, 119,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 1, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 1, 5,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                        MVT::v128i8, 3, 9, 0, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 1, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 1, 15,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                        MVT::v128i8, 3, 19, 0, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 20, 21,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v64i16, 3, 12, 22, 24,
       119,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 1, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 1, 5,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                        MVT::v128i8, 3, 9, 0, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 1, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 1, 15,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                        MVT::v128i8, 3, 19, 0, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 20, 21,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v64i16, 3, 12, 22, 24,
       0,
      126|128,1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v64i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, MVT::v64i16,
       OPC_Scope, 119,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 2, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 2, 5,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                        MVT::v128i8, 3, 9, 0, 1,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 2, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 2, 15,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                        MVT::v128i8, 3, 19, 0, 1,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 20, 21,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v64i16, 3, 12, 22, 24,
       119,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 2, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 2, 5,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                        MVT::v128i8, 3, 9, 0, 1,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 2, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 2, 15,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                        MVT::v128i8, 3, 19, 0, 1,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 20, 21,
        OPC_EmitIntegerI32, 126,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v64i16, 3, 12, 22, 24,
       0,
      0,
     14|128,2,
      OPC_CheckChild0Type, MVT::v128i8,
      OPC_Scope, 3|128,1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v128i8,
       OPC_MoveParent,
       OPC_CheckType, MVT::v128i16,
       OPC_CheckPatternPredicate4,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 1, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 1, 5,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v256i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                       MVT::v256i8, 3, 9, 0, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 1, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 1, 15,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v256i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                       MVT::v256i8, 3, 19, 0, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 20, 21,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v128i16, 3, 12, 22, 24,
      3|128,1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v128i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, MVT::v128i16,
       OPC_CheckPatternPredicate4,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 2, 5,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v256i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                       MVT::v256i8, 3, 9, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 2, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 2, 15,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v256i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                       MVT::v256i8, 3, 19, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 20, 21,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v128i16, 3, 12, 22, 24,
      0,
     0,
    15|128,3,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_Scope, 127|128,1,
      OPC_CheckChild0Type, MVT::v32i16,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v32i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i32,
      OPC_Scope, 119,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 0, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 0, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                       MVT::v128i8, 3, 9, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 0, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 0, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                       MVT::v128i8, 3, 19, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 12, 22, 24,
      119,
       OPC_CheckPatternPredicate3,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 0, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 0, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                       MVT::v128i8, 3, 9, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 0, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 0, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                       MVT::v128i8, 3, 19, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 12, 22, 24,
      0,
     4|128,1,
      OPC_CheckChild0Type, MVT::v64i16,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v64i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 0, 3,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 0, 5,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 4, 6, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                      MVT::v256i8, 3, 9, 1, 2,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 10, 11,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 0, 13,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 0, 15,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 17,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 14, 16, 18,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                      MVT::v256i8, 3, 19, 1, 2,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 20, 21,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 23,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v64i32, 3, 12, 22, 24,
     0,
    29|128,6,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_Scope, 4|128,4,
      OPC_CheckChild0Type, MVT::v32i16,
      OPC_Scope, 126|128,1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v32i16,
       OPC_MoveParent,
       OPC_CheckType, MVT::v32i32,
       OPC_Scope, 119,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 1, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 1, 5,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                        MVT::v128i8, 3, 9, 0, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 1, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 1, 15,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                        MVT::v128i8, 3, 19, 0, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 20, 21,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v32i32, 3, 12, 22, 24,
       119,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 1, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 1, 5,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                        MVT::v128i8, 3, 9, 0, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 1, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 1, 15,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                        MVT::v128i8, 3, 19, 0, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 20, 21,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v32i32, 3, 12, 22, 24,
       0,
      126|128,1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v32i16,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, MVT::v32i32,
       OPC_Scope, 119,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 2, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 2, 5,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                        MVT::v128i8, 3, 9, 0, 1,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 2, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 2, 15,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                        MVT::v128i8, 3, 19, 0, 1,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 20, 21,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v32i32, 3, 12, 22, 24,
       119,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 2, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 2, 5,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                        MVT::v128i8, 3, 9, 0, 1,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 2, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 2, 15,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                        MVT::v128i8, 3, 19, 0, 1,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 20, 21,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v32i32, 3, 12, 22, 24,
       0,
      0,
     14|128,2,
      OPC_CheckChild0Type, MVT::v64i16,
      OPC_Scope, 3|128,1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v64i16,
       OPC_MoveParent,
       OPC_CheckType, MVT::v64i32,
       OPC_CheckPatternPredicate4,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 1, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 1, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v256i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                       MVT::v256i8, 3, 9, 0, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 1, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 1, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v256i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                       MVT::v256i8, 3, 19, 0, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v64i32, 3, 12, 22, 24,
      3|128,1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v64i16,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, MVT::v64i32,
       OPC_CheckPatternPredicate4,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 2, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v256i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                       MVT::v256i8, 3, 9, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 2, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 2, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v256i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                       MVT::v256i8, 3, 19, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v64i32, 3, 12, 22, 24,
      0,
     0,
    15|128,3,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_Scope, 127|128,1,
      OPC_CheckChild0Type, MVT::v32i16,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v32i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i32,
      OPC_Scope, 119,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 0, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 0, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                       MVT::v128i8, 3, 9, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 0, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 0, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                       MVT::v128i8, 3, 19, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 12, 22, 24,
      119,
       OPC_CheckPatternPredicate3,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 0, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 0, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                       MVT::v128i8, 3, 9, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 0, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 0, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                       MVT::v128i8, 3, 19, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 12, 22, 24,
      0,
     4|128,1,
      OPC_CheckChild0Type, MVT::v64i16,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v64i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 0, 3,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 0, 5,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 4, 6, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                      MVT::v256i8, 3, 9, 1, 2,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 10, 11,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 0, 13,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 0, 15,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 17,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 14, 16, 18,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                      MVT::v256i8, 3, 19, 1, 2,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 20, 21,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 23,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v64i32, 3, 12, 22, 24,
     0,
    29|128,6,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_Scope, 4|128,4,
      OPC_CheckChild0Type, MVT::v32i16,
      OPC_Scope, 126|128,1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v32i16,
       OPC_MoveParent,
       OPC_CheckType, MVT::v32i32,
       OPC_Scope, 119,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 1, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 1, 5,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                        MVT::v128i8, 3, 9, 0, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 1, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 1, 15,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                        MVT::v128i8, 3, 19, 0, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 20, 21,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v32i32, 3, 12, 22, 24,
       119,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 1, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 1, 5,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                        MVT::v128i8, 3, 9, 0, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 1, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 1, 15,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                        MVT::v128i8, 3, 19, 0, 2,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 20, 21,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v32i32, 3, 12, 22, 24,
       0,
      126|128,1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v32i16,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, MVT::v32i32,
       OPC_Scope, 119,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 2, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 2, 5,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                        MVT::v128i8, 3, 9, 0, 1,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 2, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 2, 15,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                        MVT::v128i8, 3, 19, 0, 1,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 20, 21,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v32i32, 3, 12, 22, 24,
       119,
        OPC_CheckPatternPredicate3,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 2, 3,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 2, 5,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 7,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 4, 6, 8,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                        MVT::v128i8, 3, 9, 0, 1,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 10, 11,
        OPC_EmitIntegerI32, Hexagon::vsub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 2, 13,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 2, 15,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 17,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                        MVT::v128i8, 3, 14, 16, 18,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                        MVT::v128i8, 3, 19, 0, 1,
        OPC_EmitIntegerI32, Hexagon::vsub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::v64i8, 2, 20, 21,
        OPC_EmitIntegerI32, 124,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                        MVT::i32, 1, 23,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                        MVT::v32i32, 3, 12, 22, 24,
       0,
      0,
     14|128,2,
      OPC_CheckChild0Type, MVT::v64i16,
      OPC_Scope, 3|128,1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v64i16,
       OPC_MoveParent,
       OPC_CheckType, MVT::v64i32,
       OPC_CheckPatternPredicate4,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 1, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 1, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v256i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                       MVT::v256i8, 3, 9, 0, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 1, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 1, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v256i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                       MVT::v256i8, 3, 19, 0, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v64i32, 3, 12, 22, 24,
      3|128,1,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
       OPC_RecordChild0,
       OPC_CheckChild0Type, MVT::v64i16,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckType, MVT::v64i32,
       OPC_CheckPatternPredicate4,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 2, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v256i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                       MVT::v256i8, 3, 9, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 2, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 2, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v256i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                       MVT::v256i8, 3, 19, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v128i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v64i32, 3, 12, 22, 24,
      0,
     0,
    0,
   63|128,12, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 8|128,4,
     OPC_CheckChild0Type, MVT::v64i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_Scope, 126|128,1,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v64i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i16,
      OPC_Scope, 119,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 1, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 1, 5,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                       MVT::v128i8, 3, 9, 2, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 1, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 1, 15,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                       MVT::v128i8, 3, 19, 2, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v64i16, 3, 12, 22, 24,
      119,
       OPC_CheckPatternPredicate3,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 1, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 1, 5,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                       MVT::v128i8, 3, 9, 2, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 1, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 1, 15,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                       MVT::v128i8, 3, 19, 2, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v64i16, 3, 12, 22, 24,
      0,
     126|128,1,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v64i8,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i16,
      OPC_Scope, 119,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 5,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                       MVT::v128i8, 3, 9, 1, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 15,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                       MVT::v128i8, 3, 19, 1, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v64i16, 3, 12, 22, 24,
      119,
       OPC_CheckPatternPredicate3,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 5,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                       MVT::v128i8, 3, 9, 1, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 15,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                       MVT::v128i8, 3, 19, 1, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v64i16, 3, 12, 22, 24,
      0,
     0,
    18|128,2,
     OPC_CheckChild0Type, MVT::v128i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_Scope, 3|128,1,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v128i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v128i16,
      OPC_CheckPatternPredicate4,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 1, 3,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 1, 5,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 4, 6, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                      MVT::v256i8, 3, 9, 2, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 10, 11,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 1, 13,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 1, 15,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 17,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 14, 16, 18,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                      MVT::v256i8, 3, 19, 2, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 20, 21,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 23,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v128i16, 3, 12, 22, 24,
     3|128,1,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v128i8,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v128i16,
      OPC_CheckPatternPredicate4,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 3,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 5,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 4, 6, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                      MVT::v256i8, 3, 9, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 10, 11,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 13,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 15,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 17,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 14, 16, 18,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                      MVT::v256i8, 3, 19, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 20, 21,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 23,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v128i16, 3, 12, 22, 24,
     0,
    8|128,4,
     OPC_CheckChild0Type, MVT::v32i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_Scope, 126|128,1,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v32i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i32,
      OPC_Scope, 119,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 1, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 1, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                       MVT::v128i8, 3, 9, 2, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 1, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 1, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                       MVT::v128i8, 3, 19, 2, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 12, 22, 24,
      119,
       OPC_CheckPatternPredicate3,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 1, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 1, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                       MVT::v128i8, 3, 9, 2, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 1, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 1, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                       MVT::v128i8, 3, 19, 2, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 12, 22, 24,
      0,
     126|128,1,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v32i16,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i32,
      OPC_Scope, 119,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                       MVT::v128i8, 3, 9, 1, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                       MVT::v128i8, 3, 19, 1, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 12, 22, 24,
      119,
       OPC_CheckPatternPredicate3,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                       MVT::v128i8, 3, 9, 1, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                       MVT::v128i8, 3, 19, 1, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 12, 22, 24,
      0,
     0,
    18|128,2,
     OPC_CheckChild0Type, MVT::v64i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_Scope, 3|128,1,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v64i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 1, 3,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 1, 5,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 4, 6, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                      MVT::v256i8, 3, 9, 2, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 10, 11,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 1, 13,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 1, 15,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 17,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 14, 16, 18,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                      MVT::v256i8, 3, 19, 2, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 20, 21,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 23,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v64i32, 3, 12, 22, 24,
     3|128,1,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v64i16,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 3,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 5,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 4, 6, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                      MVT::v256i8, 3, 9, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 10, 11,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 13,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 15,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 17,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 14, 16, 18,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                      MVT::v256i8, 3, 19, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 20, 21,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 23,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v64i32, 3, 12, 22, 24,
     0,
    0,
   33|128,6, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 8|128,4,
     OPC_CheckChild0Type, MVT::v32i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_Scope, 126|128,1,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v32i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i32,
      OPC_Scope, 119,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 1, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 1, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                       MVT::v128i8, 3, 9, 2, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 1, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 1, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                       MVT::v128i8, 3, 19, 2, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 12, 22, 24,
      119,
       OPC_CheckPatternPredicate3,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 1, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 1, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                       MVT::v128i8, 3, 9, 2, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 1, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 1, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                       MVT::v128i8, 3, 19, 2, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 12, 22, 24,
      0,
     126|128,1,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v32i16,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i32,
      OPC_Scope, 119,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                       MVT::v128i8, 3, 9, 1, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                       MVT::v128i8, 3, 19, 1, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 12, 22, 24,
      119,
       OPC_CheckPatternPredicate3,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                       MVT::v128i8, 3, 9, 1, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                       MVT::v128i8, 3, 19, 1, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 12, 22, 24,
      0,
     0,
    18|128,2,
     OPC_CheckChild0Type, MVT::v64i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
     OPC_Scope, 3|128,1,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v64i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 1, 3,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 1, 5,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 4, 6, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                      MVT::v256i8, 3, 9, 2, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 10, 11,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 1, 13,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 1, 15,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 17,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 14, 16, 18,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                      MVT::v256i8, 3, 19, 2, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 20, 21,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 23,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v64i32, 3, 12, 22, 24,
     3|128,1,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v64i16,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 3,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 5,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 4, 6, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                      MVT::v256i8, 3, 9, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 10, 11,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 13,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 15,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 17,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 14, 16, 18,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                      MVT::v256i8, 3, 19, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 20, 21,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 23,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v64i32, 3, 12, 22, 24,
     0,
    0,
   53|128,12, TARGET_VAL(ISD::MUL),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 21|128,6, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_Scope, 0|128,2,
      OPC_CheckChild0Type, MVT::v64i8,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v64i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v64i16,
      OPC_Scope, 119,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 5,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv_acc),
                       MVT::v128i8, 3, 9, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 15,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv_acc),
                       MVT::v128i8, 3, 19, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v64i16, 3, 12, 22, 24,
      119,
       OPC_CheckPatternPredicate3,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 5,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv_acc),
                       MVT::v128i8, 3, 9, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 15,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv_acc),
                       MVT::v128i8, 3, 19, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v64i16, 3, 12, 22, 24,
      0,
     5|128,1,
      OPC_CheckChild0Type, MVT::v128i8,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v128i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v128i16,
      OPC_CheckPatternPredicate4,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 3,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 5,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 4, 6, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv_acc),
                      MVT::v256i8, 3, 9, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 10, 11,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 13,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 15,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 17,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 14, 16, 18,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv_acc),
                      MVT::v256i8, 3, 19, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 20, 21,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 23,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v128i16, 3, 12, 22, 24,
     0|128,2,
      OPC_CheckChild0Type, MVT::v32i16,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v32i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v32i32,
      OPC_Scope, 119,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhv_acc),
                       MVT::v128i8, 3, 9, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhv_acc),
                       MVT::v128i8, 3, 19, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 12, 22, 24,
      119,
       OPC_CheckPatternPredicate3,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhv_acc),
                       MVT::v128i8, 3, 9, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhv_acc),
                       MVT::v128i8, 3, 19, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 12, 22, 24,
      0,
     5|128,1,
      OPC_CheckChild0Type, MVT::v64i16,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v64i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v64i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 3,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 5,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 4, 6, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhv_acc),
                      MVT::v256i8, 3, 9, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 10, 11,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 13,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 15,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 17,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 14, 16, 18,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhv_acc),
                      MVT::v256i8, 3, 19, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 20, 21,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 23,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v64i32, 3, 12, 22, 24,
     0,
    21|128,6, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_Scope, 0|128,2,
      OPC_CheckChild0Type, MVT::v64i8,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v64i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v64i16,
      OPC_Scope, 119,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 5,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyubv_acc),
                       MVT::v128i8, 3, 9, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 15,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyubv_acc),
                       MVT::v128i8, 3, 19, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v64i16, 3, 12, 22, 24,
      119,
       OPC_CheckPatternPredicate3,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 5,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyubv_acc),
                       MVT::v128i8, 3, 9, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 15,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyubv_acc),
                       MVT::v128i8, 3, 19, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v64i16, 3, 12, 22, 24,
      0,
     5|128,1,
      OPC_CheckChild0Type, MVT::v128i8,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v128i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v128i16,
      OPC_CheckPatternPredicate4,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 3,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 5,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 4, 6, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyubv_acc),
                      MVT::v256i8, 3, 9, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 10, 11,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 13,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 15,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 17,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 14, 16, 18,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyubv_acc),
                      MVT::v256i8, 3, 19, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 20, 21,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 23,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v128i16, 3, 12, 22, 24,
     0|128,2,
      OPC_CheckChild0Type, MVT::v32i16,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v32i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v32i32,
      OPC_Scope, 119,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyuhv_acc),
                       MVT::v128i8, 3, 9, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyuhv_acc),
                       MVT::v128i8, 3, 19, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 12, 22, 24,
      119,
       OPC_CheckPatternPredicate3,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyuhv_acc),
                       MVT::v128i8, 3, 9, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyuhv_acc),
                       MVT::v128i8, 3, 19, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 12, 22, 24,
      0,
     5|128,1,
      OPC_CheckChild0Type, MVT::v64i16,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v64i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v64i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 3,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 5,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 4, 6, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyuhv_acc),
                      MVT::v256i8, 3, 9, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 10, 11,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 13,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 15,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 17,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 14, 16, 18,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyuhv_acc),
                      MVT::v256i8, 3, 19, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 20, 21,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 23,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v64i32, 3, 12, 22, 24,
     0,
    0,
   0,
  19|128,3,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
   OPC_RecordChild0,
   OPC_Scope, 127|128,1,
    OPC_CheckChild0Type, MVT::v64i8,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v64i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v64i16,
    OPC_Scope, 119,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 3,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 5,
     OPC_EmitIntegerI32, 126,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                     MVT::v128i8, 3, 4, 6, 8,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                     MVT::v128i8, 3, 9, 2, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 10, 11,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 13,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 15,
     OPC_EmitIntegerI32, 126,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 17,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                     MVT::v128i8, 3, 14, 16, 18,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                     MVT::v128i8, 3, 19, 2, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 20, 21,
     OPC_EmitIntegerI32, 126,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 23,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                     MVT::v64i16, 3, 12, 22, 24,
    119,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 3,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 5,
     OPC_EmitIntegerI32, 126,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                     MVT::v128i8, 3, 4, 6, 8,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                     MVT::v128i8, 3, 9, 2, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 10, 11,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 13,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 15,
     OPC_EmitIntegerI32, 126,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 17,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                     MVT::v128i8, 3, 14, 16, 18,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                     MVT::v128i8, 3, 19, 2, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 20, 21,
     OPC_EmitIntegerI32, 126,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 23,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                     MVT::v64i16, 3, 12, 22, 24,
    0,
   4|128,1,
    OPC_CheckChild0Type, MVT::v128i8,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v128i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v128i16,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 0, 3,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 0, 5,
    OPC_EmitIntegerI32, 126,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                    MVT::v256i8, 3, 4, 6, 8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                    MVT::v256i8, 3, 9, 2, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 10, 11,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 0, 13,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 0, 15,
    OPC_EmitIntegerI32, 126,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 17,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                    MVT::v256i8, 3, 14, 16, 18,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                    MVT::v256i8, 3, 19, 2, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 20, 21,
    OPC_EmitIntegerI32, 126,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                    MVT::v128i16, 3, 12, 22, 24,
   0,
  39|128,6,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 12|128,3, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 0|128,2,
     OPC_CheckChild0Type, MVT::v64i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v64i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i16,
     OPC_Scope, 119,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 3,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 5,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v128i8, 3, 4, 6, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                      MVT::v128i8, 3, 9, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 10, 11,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 13,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 15,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 17,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v128i8, 3, 14, 16, 18,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                      MVT::v128i8, 3, 19, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 20, 21,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 23,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v64i16, 3, 12, 22, 24,
     119,
      OPC_CheckPatternPredicate3,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 3,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 5,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v128i8, 3, 4, 6, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                      MVT::v128i8, 3, 9, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 10, 11,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 13,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 15,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 17,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v128i8, 3, 14, 16, 18,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                      MVT::v128i8, 3, 19, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 20, 21,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 23,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v64i16, 3, 12, 22, 24,
     0,
    5|128,1,
     OPC_CheckChild0Type, MVT::v128i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v128i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v128i16,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 2, 3,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 2, 5,
     OPC_EmitIntegerI32, 126,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                     MVT::v256i8, 3, 4, 6, 8,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                     MVT::v256i8, 3, 9, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 10, 11,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 2, 13,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 2, 15,
     OPC_EmitIntegerI32, 126,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 17,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                     MVT::v256i8, 3, 14, 16, 18,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                     MVT::v256i8, 3, 19, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 20, 21,
     OPC_EmitIntegerI32, 126,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 23,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                     MVT::v128i16, 3, 12, 22, 24,
    0,
   12|128,3, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 0|128,2,
     OPC_CheckChild0Type, MVT::v64i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v64i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i16,
     OPC_Scope, 119,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 3,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 5,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v128i8, 3, 4, 6, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                      MVT::v128i8, 3, 9, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 10, 11,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 13,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 15,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 17,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v128i8, 3, 14, 16, 18,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                      MVT::v128i8, 3, 19, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 20, 21,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 23,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v64i16, 3, 12, 22, 24,
     119,
      OPC_CheckPatternPredicate3,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 3,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 5,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v128i8, 3, 4, 6, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                      MVT::v128i8, 3, 9, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 10, 11,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 13,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 15,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 17,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v128i8, 3, 14, 16, 18,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                      MVT::v128i8, 3, 19, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 20, 21,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 23,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v64i16, 3, 12, 22, 24,
     0,
    5|128,1,
     OPC_CheckChild0Type, MVT::v128i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v128i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v128i16,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 2, 3,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 2, 5,
     OPC_EmitIntegerI32, 126,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                     MVT::v256i8, 3, 4, 6, 8,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                     MVT::v256i8, 3, 9, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 10, 11,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 2, 13,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 2, 15,
     OPC_EmitIntegerI32, 126,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 17,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                     MVT::v256i8, 3, 14, 16, 18,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                     MVT::v256i8, 3, 19, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 20, 21,
     OPC_EmitIntegerI32, 126,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 23,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                     MVT::v128i16, 3, 12, 22, 24,
    0,
   0,
  19|128,3,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
   OPC_RecordChild0,
   OPC_Scope, 127|128,1,
    OPC_CheckChild0Type, MVT::v32i16,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v32i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v32i32,
    OPC_Scope, 119,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 3,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 5,
     OPC_EmitIntegerI32, 124,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                     MVT::v128i8, 3, 4, 6, 8,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                     MVT::v128i8, 3, 9, 2, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 10, 11,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 13,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 15,
     OPC_EmitIntegerI32, 124,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 17,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                     MVT::v128i8, 3, 14, 16, 18,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                     MVT::v128i8, 3, 19, 2, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 20, 21,
     OPC_EmitIntegerI32, 124,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 23,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                     MVT::v32i32, 3, 12, 22, 24,
    119,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 3,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 5,
     OPC_EmitIntegerI32, 124,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                     MVT::v128i8, 3, 4, 6, 8,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                     MVT::v128i8, 3, 9, 2, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 10, 11,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 13,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 15,
     OPC_EmitIntegerI32, 124,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 17,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                     MVT::v128i8, 3, 14, 16, 18,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                     MVT::v128i8, 3, 19, 2, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 20, 21,
     OPC_EmitIntegerI32, 124,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 23,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                     MVT::v32i32, 3, 12, 22, 24,
    0,
   4|128,1,
    OPC_CheckChild0Type, MVT::v64i16,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v64i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v64i32,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 0, 3,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 0, 5,
    OPC_EmitIntegerI32, 124,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                    MVT::v256i8, 3, 4, 6, 8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                    MVT::v256i8, 3, 9, 2, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 10, 11,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 0, 13,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 0, 15,
    OPC_EmitIntegerI32, 124,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 17,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                    MVT::v256i8, 3, 14, 16, 18,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                    MVT::v256i8, 3, 19, 2, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 20, 21,
    OPC_EmitIntegerI32, 124,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                    MVT::v64i32, 3, 12, 22, 24,
   0,
  75|128,10,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 35|128,6, TARGET_VAL(ISD::MUL),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 12|128,3, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_Scope, 0|128,2,
      OPC_CheckChild0Type, MVT::v32i16,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v32i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v32i32,
      OPC_Scope, 119,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                       MVT::v128i8, 3, 9, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                       MVT::v128i8, 3, 19, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 12, 22, 24,
      119,
       OPC_CheckPatternPredicate3,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                       MVT::v128i8, 3, 9, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                       MVT::v128i8, 3, 19, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 12, 22, 24,
      0,
     5|128,1,
      OPC_CheckChild0Type, MVT::v64i16,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v64i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v64i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 3,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 5,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 4, 6, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                      MVT::v256i8, 3, 9, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 10, 11,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 13,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 15,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 17,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 14, 16, 18,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                      MVT::v256i8, 3, 19, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 20, 21,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 23,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v64i32, 3, 12, 22, 24,
     0,
    12|128,3, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_Scope, 0|128,2,
      OPC_CheckChild0Type, MVT::v32i16,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v32i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v32i32,
      OPC_Scope, 119,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                       MVT::v128i8, 3, 9, 1, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                       MVT::v128i8, 3, 19, 1, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 12, 22, 24,
      119,
       OPC_CheckPatternPredicate3,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 5,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 7,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 4, 6, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                       MVT::v128i8, 3, 9, 1, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 10, 11,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 13,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 15,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 17,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                       MVT::v128i8, 3, 14, 16, 18,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                       MVT::v128i8, 3, 19, 1, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 20, 21,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 23,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 12, 22, 24,
      0,
     5|128,1,
      OPC_CheckChild0Type, MVT::v64i16,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v64i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v64i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 3,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 5,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 4, 6, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                      MVT::v256i8, 3, 9, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 10, 11,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 13,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 15,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 17,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                      MVT::v256i8, 3, 14, 16, 18,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                      MVT::v256i8, 3, 19, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 20, 21,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 23,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v64i32, 3, 12, 22, 24,
     0,
    0,
   101|128,2, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 114,
     OPC_CheckChild0Type, MVT::v64i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v64i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i16,
     OPC_Scope, 49,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh),
                      MVT::v128i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh),
                      MVT::v128i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 5, 6,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v64i16, 3, 4, 7, 9,
     49,
      OPC_CheckPatternPredicate3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh),
                      MVT::v128i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh),
                      MVT::v128i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 5, 6,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v64i16, 3, 4, 7, 9,
     0,
    61,
     OPC_CheckChild0Type, MVT::v128i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v128i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128i16,
     OPC_CheckPatternPredicate4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh),
                     MVT::v256i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddubh),
                     MVT::v256i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 5, 6,
     OPC_EmitIntegerI32, 126,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                     MVT::v128i16, 3, 4, 7, 9,
    114,
     OPC_CheckChild0Type, MVT::v32i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v32i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i32,
     OPC_Scope, 49,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw),
                      MVT::v128i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw),
                      MVT::v128i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 5, 6,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v32i32, 3, 4, 7, 9,
     49,
      OPC_CheckPatternPredicate3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw),
                      MVT::v128i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw),
                      MVT::v128i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 5, 6,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v32i32, 3, 4, 7, 9,
     0,
    61,
     OPC_CheckChild0Type, MVT::v64i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v64i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i32,
     OPC_CheckPatternPredicate4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw),
                     MVT::v256i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadduhw),
                     MVT::v256i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 5, 6,
     OPC_EmitIntegerI32, 124,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                     MVT::v64i32, 3, 4, 7, 9,
    0,
   52|128,1, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 114,
     OPC_CheckChild0Type, MVT::v32i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v32i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i32,
     OPC_Scope, 49,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw),
                      MVT::v128i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw),
                      MVT::v128i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 5, 6,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v32i32, 3, 4, 7, 9,
     49,
      OPC_CheckPatternPredicate3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw),
                      MVT::v128i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw),
                      MVT::v128i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 5, 6,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v32i32, 3, 4, 7, 9,
     0,
    61,
     OPC_CheckChild0Type, MVT::v64i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v64i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i32,
     OPC_CheckPatternPredicate4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw),
                     MVT::v256i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddhw),
                     MVT::v256i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 5, 6,
     OPC_EmitIntegerI32, 124,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                     MVT::v64i32, 3, 4, 7, 9,
    0,
   0,
  18,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vmulw_acc),
                   MVT::v2i32, 3, 0, 1, 2,
  18,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v2i32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vmulw_acc),
                   MVT::v2i32, 3, 2, 0, 1,
  90,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 40, TARGET_VAL(HexagonISD::VASL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_SwitchType , 22, MVT::v16i32,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslw_acc),
                      MVT::v16i32, 3, 0, 1, 2,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslw_acc),
                      MVT::v16i32, 3, 0, 1, 2,
     0,
    9, MVT::v32i32,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslw_acc),
                     MVT::v32i32, 3, 0, 1, 2,
    0,
   40, TARGET_VAL(HexagonISD::VASR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_SwitchType , 22, MVT::v16i32,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw_acc),
                      MVT::v16i32, 3, 0, 1, 2,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw_acc),
                      MVT::v16i32, 3, 0, 1, 2,
     0,
    9, MVT::v32i32,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw_acc),
                     MVT::v32i32, 3, 0, 1, 2,
    0,
   0,
  91,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 41, TARGET_VAL(HexagonISD::VASL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 22, MVT::v16i32,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslw_acc),
                      MVT::v16i32, 3, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslw_acc),
                      MVT::v16i32, 3, 2, 0, 1,
     0,
    9, MVT::v32i32,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslw_acc),
                     MVT::v32i32, 3, 2, 0, 1,
    0,
   41, TARGET_VAL(HexagonISD::VASR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 22, MVT::v16i32,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw_acc),
                      MVT::v16i32, 3, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw_acc),
                      MVT::v16i32, 3, 2, 0, 1,
     0,
    9, MVT::v32i32,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw_acc),
                     MVT::v32i32, 3, 2, 0, 1,
    0,
   0,
  60|128,2,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 7, MVT::v2i16,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_svaddh),
                    MVT::v2i16, 2, 0, 1,
   7, MVT::v8i8,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vaddub),
                    MVT::v8i8, 2, 0, 1,
   7, MVT::v4i16,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vaddh),
                    MVT::v4i16, 2, 0, 1,
   7, MVT::v2i32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vaddw),
                    MVT::v2i32, 2, 0, 1,
   7, MVT::v2i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_xor),
                    MVT::v2i1, 2, 0, 1,
   7, MVT::v4i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_xor),
                    MVT::v4i1, 2, 0, 1,
   7, MVT::v8i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_xor),
                    MVT::v8i1, 2, 0, 1,
   20, MVT::v64i8,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddb),
                     MVT::v64i8, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddb),
                     MVT::v64i8, 2, 0, 1,
    0,
   29, MVT::v128i8,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddb),
                     MVT::v128i8, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddb_dv),
                     MVT::v128i8, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddb_dv),
                     MVT::v128i8, 2, 0, 1,
    0,
   20, MVT::v32i16,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddh),
                     MVT::v32i16, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddh),
                     MVT::v32i16, 2, 0, 1,
    0,
   29, MVT::v64i16,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddh),
                     MVT::v64i16, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddh_dv),
                     MVT::v64i16, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddh_dv),
                     MVT::v64i16, 2, 0, 1,
    0,
   20, MVT::v16i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddw),
                     MVT::v16i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddw),
                     MVT::v16i32, 2, 0, 1,
    0,
   29, MVT::v32i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddw),
                     MVT::v32i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddw_dv),
                     MVT::v32i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddw_dv),
                     MVT::v32i32, 2, 0, 1,
    0,
   8, MVT::v256i8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddb_dv),
                    MVT::v256i8, 2, 0, 1,
   8, MVT::v128i16,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddh_dv),
                    MVT::v128i16, 2, 0, 1,
   8, MVT::v64i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddw_dv),
                    MVT::v64i32, 2, 0, 1,
   58, MVT::v4i8,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i32, 0,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::i64, 5, 2, 3, 4, 0, 5,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i32, 0,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::i64, 5, 7, 8, 9, 1, 10,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vaddub),
                    MVT::i64, 2, 6, 11,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i8, 2, 12, 13,
   0,
  0,
 52|128,11, TARGET_VAL(ISD::SUB),
  OPC_Scope, 49|128,2,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 87, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 56,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI32,
     OPC_Scope, 32,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate, 22,
       OPC_CheckComplexPat3, /*#*/0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_subi_asl_ri),
                       MVT::i32, 3, 3, 1, 4,
      9,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_r_nac),
                       MVT::i32, 3, 0, 1, 3,
      0,
     15,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_p_nac),
                      MVT::i64, 3, 0, 1, 3,
     0,
    25,
     OPC_CheckChild1TypeI32,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::i32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_r_nac),
                      MVT::i32, 3, 0, 1, 2,
     8, MVT::i64,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_p_nac),
                      MVT::i64, 3, 0, 1, 2,
     0,
    0,
   87, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 56,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI32,
     OPC_Scope, 32,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate, 22,
       OPC_CheckComplexPat3, /*#*/0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_subi_lsr_ri),
                       MVT::i32, 3, 3, 1, 4,
      9,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_r_nac),
                       MVT::i32, 3, 0, 1, 3,
      0,
     15,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_p_nac),
                      MVT::i64, 3, 0, 1, 3,
     0,
    25,
     OPC_CheckChild1TypeI32,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::i32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_r_nac),
                      MVT::i32, 3, 0, 1, 2,
     8, MVT::i64,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_p_nac),
                      MVT::i64, 3, 0, 1, 2,
     0,
    0,
   70, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 39,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI32,
     OPC_Scope, 15,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_r_nac),
                      MVT::i32, 3, 0, 1, 3,
     15,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_p_nac),
                      MVT::i64, 3, 0, 1, 3,
     0,
    25,
     OPC_CheckChild1TypeI32,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::i32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_r_nac),
                      MVT::i32, 3, 0, 1, 2,
     8, MVT::i64,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_p_nac),
                      MVT::i64, 3, 0, 1, 2,
     0,
    0,
   45, TARGET_VAL(ISD::ROTL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 17,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 30,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_r_nac),
                     MVT::i32, 3, 0, 1, 3,
    17,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 30,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_p_nac),
                     MVT::i64, 3, 0, 1, 3,
    0,
   0,
  36,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 22,
   OPC_Scope, 10,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_subaddi),
                    MVT::i32, 3, 0, 3, 2,
   10,
    OPC_CheckComplexPat3, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_subaddi),
                    MVT::i32, 3, 1, 3, 2,
   0,
  80,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 19,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 32,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_macsin),
                    MVT::i32, 3, 0, 1, 3,
   50,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_SwitchType , 32, MVT::i64,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_CheckComplexPat, /*CP*/8, /*#*/2,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 3, 5,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 4, 7,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_dpmpyss_nac_s0),
                     MVT::i64, 3, 0, 6, 8,
    10, MVT::i32,
     OPC_CheckPatternPredicate, 56,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mnaci),
                     MVT::i32, 3, 0, 1, 2,
    0,
   0,
  25,
   OPC_CheckChild0Integer, 0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 50,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpysin),
                   MVT::i32, 2, 0, 2,
  95,
   OPC_RecordChild0,
   OPC_Scope, 79,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 49, TARGET_VAL(ISD::MUL),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 20, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_dpmpyuu_nac_s0),
                      MVT::i64, 3, 0, 1, 2,
     20, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_dpmpyuu_nac_s0),
                      MVT::i64, 3, 0, 1, 2,
     0,
    21, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 26,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_naccii),
                     MVT::i32, 3, 0, 1, 3,
    0,
   11,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat3, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_subri),
                    MVT::i32, 2, 2, 1,
   0,
  10,
   OPC_CheckChild0Integer, 0,
   OPC_RecordChild1,
   OPC_CheckTypeI64,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_negp),
                   MVT::i64, 1, 0,
  31,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 7, MVT::i32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_sub),
                    MVT::i32, 2, 0, 1,
   7, MVT::i64,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_subp),
                    MVT::i64, 2, 0, 1,
   7, MVT::i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_xor),
                    MVT::i1, 2, 0, 1,
   0,
  36|128,4,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 101|128,2, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 114,
     OPC_CheckChild0Type, MVT::v64i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v64i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i16,
     OPC_Scope, 49,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsububh),
                      MVT::v128i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsububh),
                      MVT::v128i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 5, 6,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v64i16, 3, 4, 7, 9,
     49,
      OPC_CheckPatternPredicate3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsububh),
                      MVT::v128i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsububh),
                      MVT::v128i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 5, 6,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v64i16, 3, 4, 7, 9,
     0,
    61,
     OPC_CheckChild0Type, MVT::v128i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v128i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128i16,
     OPC_CheckPatternPredicate4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsububh),
                     MVT::v256i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsububh),
                     MVT::v256i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 5, 6,
     OPC_EmitIntegerI32, 126,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                     MVT::v128i16, 3, 4, 7, 9,
    114,
     OPC_CheckChild0Type, MVT::v32i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v32i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i32,
     OPC_Scope, 49,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubuhw),
                      MVT::v128i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubuhw),
                      MVT::v128i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 5, 6,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v32i32, 3, 4, 7, 9,
     49,
      OPC_CheckPatternPredicate3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubuhw),
                      MVT::v128i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubuhw),
                      MVT::v128i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 5, 6,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v32i32, 3, 4, 7, 9,
     0,
    61,
     OPC_CheckChild0Type, MVT::v64i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v64i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i32,
     OPC_CheckPatternPredicate4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubuhw),
                     MVT::v256i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubuhw),
                     MVT::v256i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 5, 6,
     OPC_EmitIntegerI32, 124,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                     MVT::v64i32, 3, 4, 7, 9,
    0,
   52|128,1, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 114,
     OPC_CheckChild0Type, MVT::v32i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v32i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i32,
     OPC_Scope, 49,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubhw),
                      MVT::v128i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubhw),
                      MVT::v128i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 5, 6,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v32i32, 3, 4, 7, 9,
     49,
      OPC_CheckPatternPredicate3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubhw),
                      MVT::v128i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubhw),
                      MVT::v128i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 5, 6,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v32i32, 3, 4, 7, 9,
     0,
    61,
     OPC_CheckChild0Type, MVT::v64i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v64i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i32,
     OPC_CheckPatternPredicate4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubhw),
                     MVT::v256i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubhw),
                     MVT::v256i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 5, 6,
     OPC_EmitIntegerI32, 124,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                     MVT::v64i32, 3, 4, 7, 9,
    0,
   0,
  60|128,2,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 7, MVT::v2i16,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_svsubh),
                    MVT::v2i16, 2, 0, 1,
   7, MVT::v8i8,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vsubub),
                    MVT::v8i8, 2, 0, 1,
   7, MVT::v4i16,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vsubh),
                    MVT::v4i16, 2, 0, 1,
   7, MVT::v2i32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vsubw),
                    MVT::v2i32, 2, 0, 1,
   7, MVT::v2i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_xor),
                    MVT::v2i1, 2, 0, 1,
   7, MVT::v4i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_xor),
                    MVT::v4i1, 2, 0, 1,
   7, MVT::v8i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_xor),
                    MVT::v8i1, 2, 0, 1,
   20, MVT::v64i8,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubb),
                     MVT::v64i8, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubb),
                     MVT::v64i8, 2, 0, 1,
    0,
   29, MVT::v128i8,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubb),
                     MVT::v128i8, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubb_dv),
                     MVT::v128i8, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubb_dv),
                     MVT::v128i8, 2, 0, 1,
    0,
   20, MVT::v32i16,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubh),
                     MVT::v32i16, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubh),
                     MVT::v32i16, 2, 0, 1,
    0,
   29, MVT::v64i16,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubh),
                     MVT::v64i16, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubh_dv),
                     MVT::v64i16, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubh_dv),
                     MVT::v64i16, 2, 0, 1,
    0,
   20, MVT::v16i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubw),
                     MVT::v16i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubw),
                     MVT::v16i32, 2, 0, 1,
    0,
   29, MVT::v32i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubw),
                     MVT::v32i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubw_dv),
                     MVT::v32i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubw_dv),
                     MVT::v32i32, 2, 0, 1,
    0,
   8, MVT::v256i8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubb_dv),
                    MVT::v256i8, 2, 0, 1,
   8, MVT::v128i16,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubh_dv),
                    MVT::v128i16, 2, 0, 1,
   8, MVT::v64i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubw_dv),
                    MVT::v64i32, 2, 0, 1,
   58, MVT::v4i8,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i32, 0,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::i64, 5, 2, 3, 4, 0, 5,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i32, 0,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::i64, 5, 7, 8, 9, 1, 10,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vsubub),
                    MVT::i64, 2, 6, 11,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i8, 2, 12, 13,
   0,
  0,
 33|128,49, TARGET_VAL(ISD::AND),
  OPC_Scope, 62,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 26, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 22,
    OPC_CheckComplexPat3, /*#*/0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_andi_asl_ri),
                    MVT::i32, 3, 3, 1, 4,
   26, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 22,
    OPC_CheckComplexPat3, /*#*/0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_andi_lsr_ri),
                    MVT::i32, 3, 3, 1, 4,
   0,
  63,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 27, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 22,
    OPC_CheckComplexPat3, /*#*/2,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_andi_asl_ri),
                    MVT::i32, 3, 3, 0, 4,
   27, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 22,
    OPC_CheckComplexPat3, /*#*/2,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_andi_lsr_ri),
                    MVT::i32, 3, 3, 0, 4,
   0,
  49,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 20,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_and_andn),
                    MVT::i32, 3, 0, 1, 2,
   20,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_and_andn),
                    MVT::i32, 3, 0, 2, 1,
   0,
  50,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 21,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_and_andn),
                    MVT::i32, 3, 2, 0, 1,
   21,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_and_andn),
                    MVT::i32, 3, 2, 1, 0,
   0,
  56|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 41, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 15,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_r_and),
                     MVT::i32, 3, 0, 1, 3,
    15,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_p_and),
                     MVT::i64, 3, 0, 1, 3,
    0,
   41, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 15,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_r_and),
                     MVT::i32, 3, 0, 1, 3,
    15,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_p_and),
                     MVT::i64, 3, 0, 1, 3,
    0,
   41, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 15,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_r_and),
                     MVT::i32, 3, 0, 1, 3,
    15,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_p_and),
                     MVT::i64, 3, 0, 1, 3,
    0,
   45, TARGET_VAL(ISD::ROTL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 17,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 30,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_r_and),
                     MVT::i32, 3, 0, 1, 3,
    17,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 30,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_p_and),
                     MVT::i64, 3, 0, 1, 3,
    0,
   0,
  63|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 43, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 16,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_r_and),
                     MVT::i32, 3, 2, 0, 3,
    16,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_p_and),
                     MVT::i64, 3, 2, 0, 3,
    0,
   43, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 16,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_r_and),
                     MVT::i32, 3, 2, 0, 3,
    16,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_p_and),
                     MVT::i64, 3, 2, 0, 3,
    0,
   43, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 16,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_r_and),
                     MVT::i32, 3, 2, 0, 3,
    16,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_p_and),
                     MVT::i64, 3, 2, 0, 3,
    0,
   47, TARGET_VAL(ISD::ROTL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 18,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 30,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_r_and),
                     MVT::i32, 3, 2, 0, 3,
    18,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 30,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_p_and),
                     MVT::i64, 3, 2, 0, 3,
    0,
   0,
  94,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 27, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_r_and),
                     MVT::i32, 3, 0, 1, 2,
    8, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_p_and),
                     MVT::i64, 3, 0, 1, 2,
    0,
   27, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_r_and),
                     MVT::i32, 3, 0, 1, 2,
    8, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_p_and),
                     MVT::i64, 3, 0, 1, 2,
    0,
   27, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_r_and),
                     MVT::i32, 3, 0, 1, 2,
    8, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_p_and),
                     MVT::i64, 3, 0, 1, 2,
    0,
   0,
  96,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 28, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_r_and),
                     MVT::i32, 3, 2, 0, 1,
    8, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_p_and),
                     MVT::i64, 3, 2, 0, 1,
    0,
   28, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_r_and),
                     MVT::i32, 3, 2, 0, 1,
    8, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_p_and),
                     MVT::i64, 3, 2, 0, 1,
    0,
   28, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_r_and),
                     MVT::i32, 3, 2, 0, 1,
    8, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_p_and),
                     MVT::i64, 3, 2, 0, 1,
    0,
   0,
  25,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_CheckChild0Integer, 1,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_MoveParent,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_clrbit_r),
                   MVT::i32, 2, 0, 1,
  25,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_CheckChild0Integer, 1,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_MoveParent,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_clrbit_r),
                   MVT::i32, 2, 1, 0,
  11,
   OPC_CheckAndImm, 127|128,1,
   OPC_RecordChild0,
   OPC_CheckTypeI32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_zxtb),
                   MVT::i32, 1, 0,
  12,
   OPC_CheckAndImm, 127|128,127|128,3,
   OPC_RecordChild0,
   OPC_CheckTypeI32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_zxth),
                   MVT::i32, 1, 0,
  124,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 14,
    OPC_CheckPredicate, 49,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitNodeXForm, 6, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_clrbit_i),
                    MVT::i32, 2, 0, 2,
   48,
    OPC_CheckPredicate, 71,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 3,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 6,
    OPC_EmitNodeXForm, 16, 1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_clrbit_i),
                    MVT::i32, 2, 7, 8,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::i64, 5, 2, 4, 5, 9, 10,
   51,
    OPC_CheckPredicate, 72,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 3,
    OPC_EmitNodeXForm, 16, 1,
    OPC_EmitNodeXForm, 15, 5,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_clrbit_i),
                    MVT::i32, 2, 4, 6,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 9,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::i64, 5, 2, 7, 8, 10, 11,
   0,
  20|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI32,
   OPC_Scope, 30,
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 1,
    OPC_CheckTypeI32,
    OPC_EmitConvertToTarget1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::S4_ntstbit_i),
                    MVT::i1, 2, 0, 2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_muxii),
                    MVT::i32, 3, 3, 4, 5,
   48,
    OPC_CheckPredicate, 66,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 1,
    OPC_CheckTypeI64,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 3,
    OPC_EmitConvertToTarget1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::S4_ntstbit_i),
                    MVT::i1, 2, 4, 5,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                    MVT::i32, 3, 6, 7, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_combineir),
                    MVT::i64, 2, 2, 9,
   50,
    OPC_CheckPredicate, 48,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 1,
    OPC_CheckTypeI64,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 3,
    OPC_EmitNodeXForm, 15, 1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::S4_ntstbit_i),
                    MVT::i1, 2, 4, 5,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                    MVT::i32, 3, 6, 7, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_combineir),
                    MVT::i64, 2, 2, 9,
   0,
  77,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 46, TARGET_VAL(ISD::AND),
    OPC_Scope, 21,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 127,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                     MVT::i1, 3, 0, 1, 2,
    21,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 127,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                     MVT::i1, 3, 0, 2, 1,
    0,
   21, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                    MVT::i1, 3, 0, 1, 2,
   0,
  52,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 22,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                    MVT::i1, 3, 2, 0, 1,
   22,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                    MVT::i1, 3, 2, 1, 0,
   0,
  26,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckPredicate5,
   OPC_MoveParent,
   OPC_CheckType, MVT::i1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                   MVT::i1, 3, 0, 2, 1,
  61|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 48, TARGET_VAL(ISD::OR),
    OPC_Scope, 22,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 127,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                     MVT::i1, 3, 2, 0, 1,
    22,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 127,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                     MVT::i1, 3, 2, 1, 0,
    0,
   3|128,1, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 27,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 1,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_tstbit_i),
                     MVT::i1, 2, 0, 2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_muxii),
                     MVT::i32, 3, 3, 4, 5,
    45,
     OPC_CheckPredicate, 66,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 1,
     OPC_CheckTypeI64,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 3,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_tstbit_i),
                     MVT::i1, 2, 4, 5,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                     MVT::i32, 3, 6, 7, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_combineir),
                     MVT::i64, 2, 2, 9,
    47,
     OPC_CheckPredicate, 48,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 1,
     OPC_CheckTypeI64,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 3,
     OPC_EmitNodeXForm, 15, 1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_tstbit_i),
                     MVT::i1, 2, 4, 5,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                     MVT::i32, 3, 6, 7, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_combineir),
                     MVT::i64, 2, 2, 9,
    0,
   0,
  29,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_SwitchType , 7, MVT::i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                    MVT::i1, 2, 0, 1,
   7, MVT::i64,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_andnp),
                    MVT::i64, 2, 0, 1,
   0,
  29,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 7, MVT::i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                    MVT::i1, 2, 1, 0,
   7, MVT::i64,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_andnp),
                    MVT::i64, 2, 1, 0,
   0,
  114,
   OPC_RecordChild0,
   OPC_Scope, 24,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_Scope, 9,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_andir),
                     MVT::i32, 2, 0, 2,
    9,
     OPC_CheckComplexPat3, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_andir),
                     MVT::i32, 2, 1, 2,
    0,
   85,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 30, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_Scope, 12,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckType, MVT::i1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_and),
                      MVT::i1, 3, 0, 1, 2,
     12,
      OPC_CheckPredicate, 44,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_and_and),
                      MVT::i32, 3, 0, 1, 2,
     0,
    30, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_Scope, 12,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckType, MVT::i1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_or),
                      MVT::i1, 3, 0, 1, 2,
     12,
      OPC_CheckPredicate, 44,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_and_or),
                      MVT::i32, 3, 0, 1, 2,
     0,
    13, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_and_xor),
                     MVT::i32, 3, 0, 1, 2,
    0,
   0,
  90,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 32, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 13,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_and),
                     MVT::i1, 3, 2, 0, 1,
    13,
     OPC_CheckPredicate, 44,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_and_and),
                     MVT::i32, 3, 2, 0, 1,
    0,
   32, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 13,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_or),
                     MVT::i1, 3, 2, 0, 1,
    13,
     OPC_CheckPredicate, 44,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_and_or),
                     MVT::i32, 3, 2, 0, 1,
    0,
   14, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_and_xor),
                    MVT::i32, 3, 2, 0, 1,
   0,
  84|128,1,
   OPC_RecordChild0,
   OPC_Scope, 30,
    OPC_RecordChild1,
    OPC_SwitchType , 7, MVT::i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_and),
                     MVT::i1, 2, 0, 1,
    7, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_and),
                     MVT::i32, 2, 0, 1,
    7, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_andp),
                     MVT::i64, 2, 0, 1,
    0,
   48|128,1,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 121, TARGET_VAL(ISD::AND),
     OPC_Scope, 69,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 41,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_SwitchType , 8, MVT::v2i1,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                        MVT::v2i1, 3, 0, 1, 2,
       8, MVT::v4i1,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                        MVT::v4i1, 3, 0, 1, 2,
       8, MVT::v8i1,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                        MVT::v8i1, 3, 0, 1, 2,
       0,
      19,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i1,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                       MVT::v2i1, 3, 0, 1, 2,
      0,
     48,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 20,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i1,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                       MVT::v2i1, 3, 0, 2, 1,
      20,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i1,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                       MVT::v2i1, 3, 0, 2, 1,
      0,
     0,
    46, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::v2i1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                      MVT::v2i1, 3, 0, 1, 2,
     8, MVT::v4i1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                      MVT::v4i1, 3, 0, 1, 2,
     8, MVT::v8i1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                      MVT::v8i1, 3, 0, 1, 2,
     0,
    0,
   0,
  107,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 49,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                     MVT::v2i1, 3, 2, 0, 1,
    20,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                     MVT::v2i1, 3, 2, 0, 1,
    0,
   50,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                     MVT::v2i1, 3, 2, 1, 0,
    21,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                     MVT::v2i1, 3, 2, 1, 0,
    0,
   0,
  81,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 24,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                    MVT::v4i1, 3, 0, 1, 2,
   48,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                     MVT::v4i1, 3, 0, 2, 1,
    20,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                     MVT::v4i1, 3, 0, 2, 1,
    0,
   0,
  107,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 49,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                     MVT::v4i1, 3, 2, 0, 1,
    20,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                     MVT::v4i1, 3, 2, 0, 1,
    0,
   50,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                     MVT::v4i1, 3, 2, 1, 0,
    21,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                     MVT::v4i1, 3, 2, 1, 0,
    0,
   0,
  81,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 24,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                    MVT::v8i1, 3, 0, 1, 2,
   48,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                     MVT::v8i1, 3, 0, 2, 1,
    20,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                     MVT::v8i1, 3, 0, 2, 1,
    0,
   0,
  107,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 49,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                     MVT::v8i1, 3, 2, 0, 1,
    20,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                     MVT::v8i1, 3, 2, 0, 1,
    0,
   50,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                     MVT::v8i1, 3, 2, 1, 0,
    21,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_andn),
                     MVT::v8i1, 3, 2, 1, 0,
    0,
   0,
  81,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_Scope, 24,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                    MVT::v2i1, 3, 0, 1, 2,
   48,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                     MVT::v2i1, 3, 0, 2, 1,
    20,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                     MVT::v2i1, 3, 0, 2, 1,
    0,
   0,
  107,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_Scope, 49,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                     MVT::v2i1, 3, 2, 0, 1,
    20,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                     MVT::v2i1, 3, 2, 0, 1,
    0,
   50,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                     MVT::v2i1, 3, 2, 1, 0,
    21,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                     MVT::v2i1, 3, 2, 1, 0,
    0,
   0,
  81,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_Scope, 24,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                    MVT::v4i1, 3, 0, 1, 2,
   48,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                     MVT::v4i1, 3, 0, 2, 1,
    20,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                     MVT::v4i1, 3, 0, 2, 1,
    0,
   0,
  107,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_Scope, 49,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                     MVT::v4i1, 3, 2, 0, 1,
    20,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                     MVT::v4i1, 3, 2, 0, 1,
    0,
   50,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                     MVT::v4i1, 3, 2, 1, 0,
    21,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                     MVT::v4i1, 3, 2, 1, 0,
    0,
   0,
  81,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_Scope, 24,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                    MVT::v8i1, 3, 0, 1, 2,
   48,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                     MVT::v8i1, 3, 0, 2, 1,
    20,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                     MVT::v8i1, 3, 0, 2, 1,
    0,
   0,
  107,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_Scope, 49,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 20,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                     MVT::v8i1, 3, 2, 0, 1,
    20,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                     MVT::v8i1, 3, 2, 0, 1,
    0,
   50,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 21,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                     MVT::v8i1, 3, 2, 1, 0,
    21,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_orn),
                     MVT::v8i1, 3, 2, 1, 0,
    0,
   0,
  61,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 36,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 7, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                     MVT::v2i1, 2, 0, 1,
    7, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                     MVT::v4i1, 2, 0, 1,
    7, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                     MVT::v8i1, 2, 0, 1,
    0,
   16,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                    MVT::v2i1, 2, 0, 1,
   0,
  42,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 17,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                    MVT::v2i1, 2, 1, 0,
   17,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                    MVT::v2i1, 2, 1, 0,
   0,
  21,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                   MVT::v4i1, 2, 0, 1,
  42,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 17,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                    MVT::v4i1, 2, 1, 0,
   17,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                    MVT::v4i1, 2, 1, 0,
   0,
  21,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                   MVT::v8i1, 2, 0, 1,
  42,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 17,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                    MVT::v8i1, 2, 1, 0,
   17,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                    MVT::v8i1, 2, 1, 0,
   0,
  25|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 103,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::QTRUE),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 29, MVT::v64i1,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                      MVT::v64i1, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                      MVT::v64i1, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                      MVT::v64i1, 2, 0, 1,
     0,
    8, MVT::v128i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                     MVT::v128i1, 2, 0, 1,
    29, MVT::v32i1,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                      MVT::v32i1, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                      MVT::v32i1, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                      MVT::v32i1, 2, 0, 1,
     0,
    20, MVT::v16i1,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                      MVT::v16i1, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                      MVT::v16i1, 2, 0, 1,
     0,
    0,
   41,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::QTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_SwitchType , 20, MVT::v64i1,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                      MVT::v64i1, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                      MVT::v64i1, 2, 0, 1,
     0,
    8, MVT::v128i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                     MVT::v128i1, 2, 0, 1,
    0,
   0,
  92,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 42,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::QTRUE),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 20, MVT::v64i1,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                      MVT::v64i1, 2, 1, 0,
     8,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                      MVT::v64i1, 2, 1, 0,
     0,
    8, MVT::v128i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                     MVT::v128i1, 2, 1, 0,
    0,
   42,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::QTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 20, MVT::v64i1,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                      MVT::v64i1, 2, 1, 0,
     8,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                      MVT::v64i1, 2, 1, 0,
     0,
    8, MVT::v128i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                     MVT::v128i1, 2, 1, 0,
    0,
   0,
  46,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(HexagonISD::QTRUE),
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_SwitchType , 20, MVT::v32i1,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                     MVT::v32i1, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                     MVT::v32i1, 2, 0, 1,
    0,
   8, MVT::v64i1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                    MVT::v64i1, 2, 0, 1,
   0,
  92,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 42,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::QTRUE),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 20, MVT::v32i1,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                      MVT::v32i1, 2, 1, 0,
     8,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                      MVT::v32i1, 2, 1, 0,
     0,
    8, MVT::v64i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                     MVT::v64i1, 2, 1, 0,
    0,
   42,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::QTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 20, MVT::v32i1,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                      MVT::v32i1, 2, 1, 0,
     8,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                      MVT::v32i1, 2, 1, 0,
     0,
    8, MVT::v64i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                     MVT::v64i1, 2, 1, 0,
    0,
   0,
  46,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(HexagonISD::QTRUE),
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_SwitchType , 20, MVT::v16i1,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                     MVT::v16i1, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                     MVT::v16i1, 2, 0, 1,
    0,
   8, MVT::v32i1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                    MVT::v32i1, 2, 0, 1,
   0,
  92,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 42,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::QTRUE),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 20, MVT::v16i1,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                      MVT::v16i1, 2, 1, 0,
     8,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                      MVT::v16i1, 2, 1, 0,
     0,
    8, MVT::v32i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                     MVT::v32i1, 2, 1, 0,
    0,
   42,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::QTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 20, MVT::v16i1,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                      MVT::v16i1, 2, 1, 0,
     8,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                      MVT::v16i1, 2, 1, 0,
     0,
    8, MVT::v32i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                     MVT::v32i1, 2, 1, 0,
    0,
   0,
  82,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 36, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_and),
                     MVT::v2i1, 3, 0, 1, 2,
    8, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_and),
                     MVT::v4i1, 3, 0, 1, 2,
    8, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_and),
                     MVT::v8i1, 3, 0, 1, 2,
    0,
   36, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_or),
                     MVT::v2i1, 3, 0, 1, 2,
    8, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_or),
                     MVT::v4i1, 3, 0, 1, 2,
    8, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_or),
                     MVT::v8i1, 3, 0, 1, 2,
    0,
   0,
  83,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 37, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_and),
                     MVT::v2i1, 3, 2, 0, 1,
    8, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_and),
                     MVT::v4i1, 3, 2, 0, 1,
    8, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_and),
                     MVT::v8i1, 3, 2, 0, 1,
    0,
   37, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_or),
                     MVT::v2i1, 3, 2, 0, 1,
    8, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_or),
                     MVT::v4i1, 3, 2, 0, 1,
    8, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_and_or),
                     MVT::v8i1, 3, 2, 0, 1,
    0,
   0,
  115|128,7,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
   OPC_RecordChild0,
   OPC_Scope, 89,
    OPC_CheckChild0Type, MVT::v64i8,
    OPC_RecordChild1,
    OPC_Scope, 27,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_and),
                      MVT::v64i1, 3, 0, 1, 2,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_and),
                      MVT::v64i1, 3, 0, 1, 2,
     0,
    27,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_and),
                      MVT::v64i1, 3, 0, 1, 2,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_and),
                      MVT::v64i1, 3, 0, 1, 2,
     0,
    27,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_and),
                      MVT::v64i1, 3, 0, 1, 2,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_and),
                      MVT::v64i1, 3, 0, 1, 2,
     0,
    0,
   50,
    OPC_CheckChild0Type, MVT::v128i8,
    OPC_RecordChild1,
    OPC_Scope, 14,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_and),
                     MVT::v128i1, 3, 0, 1, 2,
    14,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_and),
                     MVT::v128i1, 3, 0, 1, 2,
    14,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_and),
                     MVT::v128i1, 3, 0, 1, 2,
    0,
   89,
    OPC_CheckChild0Type, MVT::v32i16,
    OPC_RecordChild1,
    OPC_Scope, 27,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                      MVT::v32i1, 3, 0, 1, 2,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                      MVT::v32i1, 3, 0, 1, 2,
     0,
    27,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_and),
                      MVT::v32i1, 3, 0, 1, 2,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_and),
                      MVT::v32i1, 3, 0, 1, 2,
     0,
    27,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_and),
                      MVT::v32i1, 3, 0, 1, 2,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_and),
                      MVT::v32i1, 3, 0, 1, 2,
     0,
    0,
   50,
    OPC_CheckChild0Type, MVT::v64i16,
    OPC_RecordChild1,
    OPC_Scope, 14,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                     MVT::v64i1, 3, 0, 1, 2,
    14,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_and),
                     MVT::v64i1, 3, 0, 1, 2,
    14,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_and),
                     MVT::v64i1, 3, 0, 1, 2,
    0,
   89,
    OPC_CheckChild0Type, MVT::v16i32,
    OPC_RecordChild1,
    OPC_Scope, 27,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                      MVT::v16i1, 3, 0, 1, 2,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                      MVT::v16i1, 3, 0, 1, 2,
     0,
    27,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_and),
                      MVT::v16i1, 3, 0, 1, 2,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_and),
                      MVT::v16i1, 3, 0, 1, 2,
     0,
    27,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_and),
                      MVT::v16i1, 3, 0, 1, 2,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_and),
                      MVT::v16i1, 3, 0, 1, 2,
     0,
    0,
   50,
    OPC_CheckChild0Type, MVT::v32i32,
    OPC_RecordChild1,
    OPC_Scope, 14,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                     MVT::v32i1, 3, 0, 1, 2,
    14,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_and),
                     MVT::v32i1, 3, 0, 1, 2,
    14,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_and),
                     MVT::v32i1, 3, 0, 1, 2,
    0,
   57|128,1,
    OPC_CheckChild0Type, MVT::v32f16,
    OPC_RecordChild1,
    OPC_Scope, 29,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                      MVT::v32i1, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                      MVT::v32i1, 3, 0, 1, 2,
     0,
    29,
     OPC_CheckChild2CondCode, ISD::SETOEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                      MVT::v32i1, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                      MVT::v32i1, 3, 0, 1, 2,
     0,
    29,
     OPC_CheckChild2CondCode, ISD::SETUEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                      MVT::v32i1, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                      MVT::v32i1, 3, 0, 1, 2,
     0,
    29,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_and),
                      MVT::v32i1, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_and),
                      MVT::v32i1, 3, 0, 1, 2,
     0,
    29,
     OPC_CheckChild2CondCode, ISD::SETOGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_and),
                      MVT::v32i1, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_and),
                      MVT::v32i1, 3, 0, 1, 2,
     0,
    29,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_and),
                      MVT::v32i1, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_and),
                      MVT::v32i1, 3, 0, 1, 2,
     0,
    0,
   101,
    OPC_CheckChild0Type, MVT::v64f16,
    OPC_RecordChild1,
    OPC_Scope, 15,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                     MVT::v64i1, 3, 0, 1, 2,
    15,
     OPC_CheckChild2CondCode, ISD::SETOEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                     MVT::v64i1, 3, 0, 1, 2,
    15,
     OPC_CheckChild2CondCode, ISD::SETUEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                     MVT::v64i1, 3, 0, 1, 2,
    15,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_and),
                     MVT::v64i1, 3, 0, 1, 2,
    15,
     OPC_CheckChild2CondCode, ISD::SETOGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_and),
                     MVT::v64i1, 3, 0, 1, 2,
    15,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_and),
                     MVT::v64i1, 3, 0, 1, 2,
    0,
   58|128,1,
    OPC_CheckChild0Type, 13|128,1,
    OPC_RecordChild1,
    OPC_Scope, 29,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                      MVT::v16i1, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                      MVT::v16i1, 3, 0, 1, 2,
     0,
    29,
     OPC_CheckChild2CondCode, ISD::SETOEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                      MVT::v16i1, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                      MVT::v16i1, 3, 0, 1, 2,
     0,
    29,
     OPC_CheckChild2CondCode, ISD::SETUEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                      MVT::v16i1, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                      MVT::v16i1, 3, 0, 1, 2,
     0,
    29,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_and),
                      MVT::v16i1, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_and),
                      MVT::v16i1, 3, 0, 1, 2,
     0,
    29,
     OPC_CheckChild2CondCode, ISD::SETOGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_and),
                      MVT::v16i1, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_and),
                      MVT::v16i1, 3, 0, 1, 2,
     0,
    29,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_and),
                      MVT::v16i1, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_and),
                      MVT::v16i1, 3, 0, 1, 2,
     0,
    0,
   102,
    OPC_CheckChild0Type, 14|128,1,
    OPC_RecordChild1,
    OPC_Scope, 15,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                     MVT::v32i1, 3, 0, 1, 2,
    15,
     OPC_CheckChild2CondCode, ISD::SETOEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                     MVT::v32i1, 3, 0, 1, 2,
    15,
     OPC_CheckChild2CondCode, ISD::SETUEQ,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                     MVT::v32i1, 3, 0, 1, 2,
    15,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_and),
                     MVT::v32i1, 3, 0, 1, 2,
    15,
     OPC_CheckChild2CondCode, ISD::SETOGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_and),
                     MVT::v32i1, 3, 0, 1, 2,
    15,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_and),
                     MVT::v32i1, 3, 0, 1, 2,
    0,
   0,
  28|128,8,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
   OPC_RecordChild0,
   OPC_Scope, 92,
    OPC_CheckChild0Type, MVT::v64i8,
    OPC_RecordChild1,
    OPC_Scope, 28,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_and),
                      MVT::v64i1, 3, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_and),
                      MVT::v64i1, 3, 2, 0, 1,
     0,
    28,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_and),
                      MVT::v64i1, 3, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_and),
                      MVT::v64i1, 3, 2, 0, 1,
     0,
    28,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_and),
                      MVT::v64i1, 3, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_and),
                      MVT::v64i1, 3, 2, 0, 1,
     0,
    0,
   53,
    OPC_CheckChild0Type, MVT::v128i8,
    OPC_RecordChild1,
    OPC_Scope, 15,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v128i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_and),
                     MVT::v128i1, 3, 2, 0, 1,
    15,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v128i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_and),
                     MVT::v128i1, 3, 2, 0, 1,
    15,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v128i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_and),
                     MVT::v128i1, 3, 2, 0, 1,
    0,
   92,
    OPC_CheckChild0Type, MVT::v32i16,
    OPC_RecordChild1,
    OPC_Scope, 28,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                      MVT::v32i1, 3, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                      MVT::v32i1, 3, 2, 0, 1,
     0,
    28,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_and),
                      MVT::v32i1, 3, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_and),
                      MVT::v32i1, 3, 2, 0, 1,
     0,
    28,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_and),
                      MVT::v32i1, 3, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_and),
                      MVT::v32i1, 3, 2, 0, 1,
     0,
    0,
   53,
    OPC_CheckChild0Type, MVT::v64i16,
    OPC_RecordChild1,
    OPC_Scope, 15,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                     MVT::v64i1, 3, 2, 0, 1,
    15,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_and),
                     MVT::v64i1, 3, 2, 0, 1,
    15,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_and),
                     MVT::v64i1, 3, 2, 0, 1,
    0,
   92,
    OPC_CheckChild0Type, MVT::v16i32,
    OPC_RecordChild1,
    OPC_Scope, 28,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                      MVT::v16i1, 3, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                      MVT::v16i1, 3, 2, 0, 1,
     0,
    28,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_and),
                      MVT::v16i1, 3, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_and),
                      MVT::v16i1, 3, 2, 0, 1,
     0,
    28,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_and),
                      MVT::v16i1, 3, 2, 0, 1,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_and),
                      MVT::v16i1, 3, 2, 0, 1,
     0,
    0,
   53,
    OPC_CheckChild0Type, MVT::v32i32,
    OPC_RecordChild1,
    OPC_Scope, 15,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                     MVT::v32i1, 3, 2, 0, 1,
    15,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_and),
                     MVT::v32i1, 3, 2, 0, 1,
    15,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_and),
                     MVT::v32i1, 3, 2, 0, 1,
    0,
   63|128,1,
    OPC_CheckChild0Type, MVT::v32f16,
    OPC_RecordChild1,
    OPC_Scope, 30,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                      MVT::v32i1, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                      MVT::v32i1, 3, 2, 0, 1,
     0,
    30,
     OPC_CheckChild2CondCode, ISD::SETOEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                      MVT::v32i1, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                      MVT::v32i1, 3, 2, 0, 1,
     0,
    30,
     OPC_CheckChild2CondCode, ISD::SETUEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                      MVT::v32i1, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                      MVT::v32i1, 3, 2, 0, 1,
     0,
    30,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_and),
                      MVT::v32i1, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_and),
                      MVT::v32i1, 3, 2, 0, 1,
     0,
    30,
     OPC_CheckChild2CondCode, ISD::SETOGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_and),
                      MVT::v32i1, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_and),
                      MVT::v32i1, 3, 2, 0, 1,
     0,
    30,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_and),
                      MVT::v32i1, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_and),
                      MVT::v32i1, 3, 2, 0, 1,
     0,
    0,
   107,
    OPC_CheckChild0Type, MVT::v64f16,
    OPC_RecordChild1,
    OPC_Scope, 16,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                     MVT::v64i1, 3, 2, 0, 1,
    16,
     OPC_CheckChild2CondCode, ISD::SETOEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                     MVT::v64i1, 3, 2, 0, 1,
    16,
     OPC_CheckChild2CondCode, ISD::SETUEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                     MVT::v64i1, 3, 2, 0, 1,
    16,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_and),
                     MVT::v64i1, 3, 2, 0, 1,
    16,
     OPC_CheckChild2CondCode, ISD::SETOGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_and),
                     MVT::v64i1, 3, 2, 0, 1,
    16,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v64i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_and),
                     MVT::v64i1, 3, 2, 0, 1,
    0,
   64|128,1,
    OPC_CheckChild0Type, 13|128,1,
    OPC_RecordChild1,
    OPC_Scope, 30,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                      MVT::v16i1, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                      MVT::v16i1, 3, 2, 0, 1,
     0,
    30,
     OPC_CheckChild2CondCode, ISD::SETOEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                      MVT::v16i1, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                      MVT::v16i1, 3, 2, 0, 1,
     0,
    30,
     OPC_CheckChild2CondCode, ISD::SETUEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                      MVT::v16i1, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                      MVT::v16i1, 3, 2, 0, 1,
     0,
    30,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_and),
                      MVT::v16i1, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_and),
                      MVT::v16i1, 3, 2, 0, 1,
     0,
    30,
     OPC_CheckChild2CondCode, ISD::SETOGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_and),
                      MVT::v16i1, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_and),
                      MVT::v16i1, 3, 2, 0, 1,
     0,
    30,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i1,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_and),
                      MVT::v16i1, 3, 2, 0, 1,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_and),
                      MVT::v16i1, 3, 2, 0, 1,
     0,
    0,
   108,
    OPC_CheckChild0Type, 14|128,1,
    OPC_RecordChild1,
    OPC_Scope, 16,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                     MVT::v32i1, 3, 2, 0, 1,
    16,
     OPC_CheckChild2CondCode, ISD::SETOEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                     MVT::v32i1, 3, 2, 0, 1,
    16,
     OPC_CheckChild2CondCode, ISD::SETUEQ,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                     MVT::v32i1, 3, 2, 0, 1,
    16,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_and),
                     MVT::v32i1, 3, 2, 0, 1,
    16,
     OPC_CheckChild2CondCode, ISD::SETOGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_and),
                     MVT::v32i1, 3, 2, 0, 1,
    16,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v32i1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_and),
                     MVT::v32i1, 3, 2, 0, 1,
    0,
   0,
  10|128,2,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 7, MVT::v2i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_and),
                    MVT::v2i1, 2, 0, 1,
   7, MVT::v4i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_and),
                    MVT::v4i1, 2, 0, 1,
   7, MVT::v8i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_and),
                    MVT::v8i1, 2, 0, 1,
   7, MVT::v4i8,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_and),
                    MVT::v4i8, 2, 0, 1,
   7, MVT::v2i16,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_and),
                    MVT::v2i16, 2, 0, 1,
   7, MVT::v8i8,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_andp),
                    MVT::v8i8, 2, 0, 1,
   7, MVT::v4i16,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_andp),
                    MVT::v4i16, 2, 0, 1,
   7, MVT::v2i32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_andp),
                    MVT::v2i32, 2, 0, 1,
   20, MVT::v64i8,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vand),
                     MVT::v64i8, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vand),
                     MVT::v64i8, 2, 0, 1,
    0,
   8, MVT::v128i8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vand),
                    MVT::v128i8, 2, 0, 1,
   20, MVT::v32i16,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vand),
                     MVT::v32i16, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vand),
                     MVT::v32i16, 2, 0, 1,
    0,
   8, MVT::v64i16,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vand),
                    MVT::v64i16, 2, 0, 1,
   20, MVT::v16i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vand),
                     MVT::v16i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vand),
                     MVT::v16i32, 2, 0, 1,
    0,
   8, MVT::v32i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vand),
                    MVT::v32i32, 2, 0, 1,
   29, MVT::v64i1,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and),
                     MVT::v64i1, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and),
                     MVT::v64i1, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and),
                     MVT::v64i1, 2, 0, 1,
    0,
   8, MVT::v128i1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and),
                    MVT::v128i1, 2, 0, 1,
   29, MVT::v32i1,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and),
                     MVT::v32i1, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and),
                     MVT::v32i1, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and),
                     MVT::v32i1, 2, 0, 1,
    0,
   20, MVT::v16i1,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and),
                     MVT::v16i1, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and),
                     MVT::v16i1, 2, 0, 1,
    0,
   0,
  0,
 86|128,32, TARGET_VAL(ISD::SETCC),
  OPC_Scope, 35|128,9,
   OPC_MoveChild0,
   OPC_Scope, 44,
    OPC_CheckAndImm, 127|128,1,
    OPC_RecordChild0,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_Scope, 15,
     OPC_CheckPredicate, 57,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_CheckType, MVT::i1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_cmpbeqi),
                     MVT::i1, 2, 0, 2,
    15,
     OPC_CheckPredicate, 48,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_CheckType, MVT::i1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_cmpbgtui),
                     MVT::i1, 2, 0, 2,
    0,
   26,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_RecordChild0,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 48,
    OPC_MoveParent,
    OPC_CheckChild2CondCode, ISD::SETUGT,
    OPC_CheckType, MVT::i1,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_cmphgtui),
                    MVT::i1, 2, 0, 2,
   56,
    OPC_CheckAndImm, 127|128,1,
    OPC_RecordChild0,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_Scope, 21,
     OPC_CheckPredicate, 57,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETNE,
     OPC_CheckType, MVT::i1,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_cmpbeqi),
                     MVT::i1, 2, 0, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                     MVT::i1, 1, 3,
    21,
     OPC_CheckPredicate, 48,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_CheckType, MVT::i1,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_cmpbgtui),
                     MVT::i1, 2, 0, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                     MVT::i1, 1, 3,
    0,
   32,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_RecordChild0,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 48,
    OPC_MoveParent,
    OPC_CheckChild2CondCode, ISD::SETULE,
    OPC_CheckType, MVT::i1,
    OPC_EmitConvertToTarget1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_cmphgtui),
                    MVT::i1, 2, 0, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                    MVT::i1, 1, 3,
   34,
    OPC_CheckAndImm, 127|128,1,
    OPC_RecordChild0,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 58,
    OPC_MoveParent,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_CheckType, MVT::i1,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 17, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_cmpbgtui),
                    MVT::i1, 2, 0, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                    MVT::i1, 1, 4,
   35,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_RecordChild0,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 58,
    OPC_MoveParent,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_CheckType, MVT::i1,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 17, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_cmphgtui),
                    MVT::i1, 2, 0, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                    MVT::i1, 1, 4,
   65|128,1,
    OPC_CheckOpcode, TARGET_VAL(ISD::AssertZext),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_Scope, 112,
     OPC_CheckValueType, MVT::i8,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_Scope, 15,
      OPC_CheckPredicate, 57,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckType, MVT::i1,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_cmpbeqi),
                      MVT::i1, 2, 0, 2,
     15,
      OPC_CheckPredicate, 48,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_CheckType, MVT::i1,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_cmpbgtui),
                      MVT::i1, 2, 0, 2,
     21,
      OPC_CheckPredicate, 57,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_CheckType, MVT::i1,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_cmpbeqi),
                      MVT::i1, 2, 0, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 3,
     21,
      OPC_CheckPredicate, 48,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_CheckType, MVT::i1,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_cmpbgtui),
                      MVT::i1, 2, 0, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 3,
     24,
      OPC_CheckPredicate, 58,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETULT,
      OPC_CheckType, MVT::i1,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 17, 2,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_cmpbgtui),
                      MVT::i1, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 4,
     0,
    72,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_Scope, 35,
      OPC_CheckPredicate, 48,
      OPC_MoveParent,
      OPC_CheckType, MVT::i1,
      OPC_Scope, 10,
       OPC_CheckChild2CondCode, ISD::SETUGT,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_cmphgtui),
                       MVT::i1, 2, 0, 2,
      16,
       OPC_CheckChild2CondCode, ISD::SETULE,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_cmphgtui),
                       MVT::i1, 2, 0, 2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                       MVT::i1, 1, 3,
      0,
     24,
      OPC_CheckPredicate, 58,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETULT,
      OPC_CheckType, MVT::i1,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 17, 2,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_cmphgtui),
                      MVT::i1, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 4,
     0,
    0,
   97,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 45,
     OPC_CheckChild0Integer, 102|128,35,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckType, MVT::i1,
     OPC_Scope, 9,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfclass),
                      MVT::i1, 2, 0, 1,
     15,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfclass),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 2,
     0,
    45,
     OPC_CheckChild0Integer, 87|128,35,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckType, MVT::i1,
     OPC_Scope, 9,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfclass),
                      MVT::i1, 2, 0, 1,
     15,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfclass),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 2,
     0,
    0,
   25,
    OPC_CheckAndImm, 127|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_CheckType, MVT::i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_cmpbeq),
                    MVT::i1, 2, 0, 1,
   26,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild2CondCode, ISD::SETEQ,
    OPC_CheckType, MVT::i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_cmpheq),
                    MVT::i1, 2, 0, 1,
   31,
    OPC_CheckAndImm, 127|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild2CondCode, ISD::SETNE,
    OPC_CheckType, MVT::i1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_cmpbeq),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                    MVT::i1, 1, 2,
   32,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild2CondCode, ISD::SETNE,
    OPC_CheckType, MVT::i1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_cmpheq),
                    MVT::i1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                    MVT::i1, 1, 2,
   91,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_Scope, 41,
     OPC_CheckChild1Integer, 116|128,39,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckType, MVT::i1,
     OPC_Scope, 10,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::S2_storew_locked),
                      MVT::i1, 2, 1, 2,
     16,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1Chain, TARGET_VAL(Hexagon::S2_storew_locked),
                      MVT::i1, 2, 1, 2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 3,
     0,
    41,
     OPC_CheckChild1Integer, 47|128,40,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckType, MVT::i1,
     OPC_Scope, 10,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::S4_stored_locked),
                      MVT::i1, 2, 1, 2,
     16,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1Chain, TARGET_VAL(Hexagon::S4_stored_locked),
                      MVT::i1, 2, 1, 2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 3,
     0,
    0,
   62|128,3,
    OPC_CheckOpcode, TARGET_VAL(ISD::AND),
    OPC_Scope, 33,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_CheckChild0Integer, 1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild2CondCode, ISD::SETNE,
     OPC_CheckType, MVT::i1,
     OPC_EmitConvertToTarget0,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_tstbit_i),
                     MVT::i1, 2, 1, 2,
    33,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_CheckChild0Integer, 1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckChild2CondCode, ISD::SETNE,
     OPC_CheckType, MVT::i1,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_tstbit_i),
                     MVT::i1, 2, 0, 2,
    38,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_CheckChild0Integer, 1,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckType, MVT::i1,
     OPC_Scope, 9,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_tstbit_r),
                      MVT::i1, 2, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_ntstbit_r),
                      MVT::i1, 2, 1, 0,
     0,
    76|128,2,
     OPC_RecordChild0,
     OPC_Scope, 37,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 1,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_CheckType, MVT::i1,
      OPC_Scope, 9,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_tstbit_r),
                       MVT::i1, 2, 0, 1,
      9,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_ntstbit_r),
                       MVT::i1, 2, 0, 1,
      0,
     33|128,2,
      OPC_RecordChild1,
      OPC_Scope, 66,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_Scope, 19,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild2CondCode, ISD::SETEQ,
        OPC_CheckType, MVT::i1,
        OPC_EmitConvertToTarget1,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_bitsclri),
                        MVT::i1, 2, 0, 2,
       39,
        OPC_CheckPredicate, 23,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckType, MVT::i1,
        OPC_Scope, 13,
         OPC_CheckChild2CondCode, ISD::SETEQ,
         OPC_EmitConvertToTarget1,
         OPC_EmitNodeXForm, 9, 2,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_ntstbit_i),
                         MVT::i1, 2, 0, 3,
        13,
         OPC_CheckChild2CondCode, ISD::SETNE,
         OPC_EmitConvertToTarget1,
         OPC_EmitNodeXForm, 9, 2,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_tstbit_i),
                         MVT::i1, 2, 0, 3,
        0,
       0,
      42,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckType, MVT::i1,
       OPC_Scope, 11,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild2CondCode, ISD::SETEQ,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_bitsclr),
                        MVT::i1, 2, 0, 1,
       11,
        OPC_CheckChild1Same, 1,
        OPC_CheckChild2CondCode, ISD::SETEQ,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_bitsset),
                        MVT::i1, 2, 0, 1,
       11,
        OPC_CheckChild1Same, 0,
        OPC_CheckChild2CondCode, ISD::SETEQ,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_bitsset),
                        MVT::i1, 2, 1, 0,
       0,
      30|128,1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_Scope, 19,
        OPC_CheckPredicate, 12,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_CheckType, MVT::i1,
        OPC_EmitConvertToTarget1,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_nbitsclri),
                        MVT::i1, 2, 0, 2,
       30,
        OPC_CheckPredicate, 55,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild2CondCode, ISD::SETEQ,
        OPC_CheckType, MVT::i1,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 0, 2,
        OPC_EmitNodeXForm, 14, 1,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_ntstbit_i),
                        MVT::i1, 2, 3, 4,
       33,
        OPC_CheckPredicate, 56,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild2CondCode, ISD::SETEQ,
        OPC_CheckType, MVT::i1,
        OPC_EmitIntegerI32, Hexagon::isub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 0, 2,
        OPC_EmitNodeXForm, 14, 1,
        OPC_EmitNodeXForm, 15, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_ntstbit_i),
                        MVT::i1, 2, 3, 5,
       31,
        OPC_CheckPredicate, 55,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_CheckType, MVT::i1,
        OPC_EmitIntegerI32, Hexagon::isub_lo,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 0, 2,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 14, 4,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_tstbit_i),
                        MVT::i1, 2, 3, 5,
       34,
        OPC_CheckPredicate, 56,
        OPC_MoveParent,
        OPC_CheckTypeI64,
        OPC_MoveParent,
        OPC_CheckChild1Integer, 0,
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_CheckType, MVT::i1,
        OPC_EmitIntegerI32, Hexagon::isub_hi,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                        MVT::i32, 2, 0, 2,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 14, 4,
        OPC_EmitNodeXForm, 15, 5,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_tstbit_i),
                        MVT::i1, 2, 3, 6,
       0,
      15,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_CheckType, MVT::i1,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_nbitsclr),
                       MVT::i1, 2, 0, 1,
      0,
     0,
    0,
   0,
  102|128,1,
   OPC_RecordChild0,
   OPC_Scope, 73|128,1,
    OPC_CheckChild0TypeI32,
    OPC_RecordChild1,
    OPC_Scope, 13,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_CheckType, MVT::i1,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_cmpeqi),
                     MVT::i1, 2, 0, 2,
    13,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_CheckType, MVT::i1,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_cmpgti),
                     MVT::i1, 2, 0, 2,
    13,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_CheckType, MVT::i1,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_cmpgtui),
                     MVT::i1, 2, 0, 2,
    19,
     OPC_CheckChild2CondCode, ISD::SETNE,
     OPC_CheckType, MVT::i1,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpeqi),
                     MVT::i1, 2, 0, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                     MVT::i1, 1, 3,
    19,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_CheckType, MVT::i1,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpgti),
                     MVT::i1, 2, 0, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                     MVT::i1, 1, 3,
    19,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_CheckType, MVT::i1,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpgtui),
                     MVT::i1, 2, 0, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                     MVT::i1, 1, 3,
    94,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 18,
      OPC_CheckPredicate, 26,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_CheckType, MVT::i1,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 18, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_cmpgti),
                      MVT::i1, 2, 0, 3,
     18,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_CheckType, MVT::i1,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 17, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_cmpgtui),
                      MVT::i1, 2, 0, 3,
     24,
      OPC_CheckPredicate, 26,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETLT,
      OPC_CheckType, MVT::i1,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 18, 2,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpgti),
                      MVT::i1, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 4,
     24,
      OPC_CheckPredicate, 32,
      OPC_MoveParent,
      OPC_CheckChild2CondCode, ISD::SETULT,
      OPC_CheckType, MVT::i1,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 17, 2,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpgtui),
                      MVT::i1, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 4,
     0,
    0,
   23,
    OPC_CheckChild0Type, MVT::i1,
    OPC_CheckChild1Integer, 127,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 5,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_CompleteMatch, 1, 0,

    8,
     OPC_CheckChild2CondCode, ISD::SETNE,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                     MVT::i1, 1, 0,
    0,
   0,
  36,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckType, MVT::i1,
   OPC_Scope, 11,
    OPC_CheckChild1Same, 1,
    OPC_CheckChild2CondCode, ISD::SETNE,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_nbitsset),
                    MVT::i1, 2, 0, 1,
   11,
    OPC_CheckChild1Same, 0,
    OPC_CheckChild2CondCode, ISD::SETNE,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_nbitsset),
                    MVT::i1, 2, 1, 0,
   0,
  32|128,21,
   OPC_RecordChild0,
   OPC_SwitchType , 108|128,8, MVT::i1,
    OPC_Scope, 6|128,1,
     OPC_CheckChild0TypeI32,
     OPC_RecordChild1,
     OPC_Scope, 9,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_cmpeq),
                      MVT::i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_cmpgt),
                      MVT::i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_cmpgtu),
                      MVT::i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETLT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_cmpgt),
                      MVT::i1, 2, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETULT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_cmpgtu),
                      MVT::i1, 2, 1, 0,
     15,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpeq),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpgt),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpgtu),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpgt),
                      MVT::i1, 2, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpgtu),
                      MVT::i1, 2, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 2,
     0,
    6|128,1,
     OPC_CheckChild0TypeI64,
     OPC_RecordChild1,
     OPC_Scope, 9,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_cmpeqp),
                      MVT::i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_cmpgtp),
                      MVT::i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_cmpgtup),
                      MVT::i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETLT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_cmpgtp),
                      MVT::i1, 2, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETULT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_cmpgtup),
                      MVT::i1, 2, 1, 0,
     15,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpeqp),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpgtp),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpgtup),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpgtp),
                      MVT::i1, 2, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpgtup),
                      MVT::i1, 2, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 2,
     0,
    7|128,3,
     OPC_CheckChild0Type, MVT::f32,
     OPC_RecordChild1,
     OPC_Scope, 9,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfcmpeq),
                      MVT::i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfcmpgt),
                      MVT::i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfcmpge),
                      MVT::i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETLT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfcmpgt),
                      MVT::i1, 2, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfcmpge),
                      MVT::i1, 2, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETUO,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfcmpuo),
                      MVT::i1, 2, 0, 1,
     15,
      OPC_CheckChild2CondCode, ISD::SETO,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpuo),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpeq),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 2,
     23,
      OPC_CheckChild2CondCode, ISD::SETUEQ,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpuo),
                      MVT::i1, 2, 0, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpeq),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_or),
                      MVT::i1, 2, 2, 3,
     23,
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpuo),
                      MVT::i1, 2, 0, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpge),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_or),
                      MVT::i1, 2, 2, 3,
     23,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpuo),
                      MVT::i1, 2, 0, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpgt),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_or),
                      MVT::i1, 2, 2, 3,
     23,
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpuo),
                      MVT::i1, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpge),
                      MVT::i1, 2, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_or),
                      MVT::i1, 2, 2, 3,
     23,
      OPC_CheckChild2CondCode, ISD::SETULT,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpuo),
                      MVT::i1, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpgt),
                      MVT::i1, 2, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_or),
                      MVT::i1, 2, 2, 3,
     23,
      OPC_CheckChild2CondCode, ISD::SETUNE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpuo),
                      MVT::i1, 2, 0, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpeq),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_orn),
                      MVT::i1, 2, 2, 3,
     23,
      OPC_CheckChild2CondCode, ISD::SETOEQ,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpeq),
                      MVT::i1, 2, 0, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpuo),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                      MVT::i1, 2, 2, 3,
     23,
      OPC_CheckChild2CondCode, ISD::SETOGE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpge),
                      MVT::i1, 2, 0, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpuo),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                      MVT::i1, 2, 2, 3,
     23,
      OPC_CheckChild2CondCode, ISD::SETOGT,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpgt),
                      MVT::i1, 2, 0, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpuo),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                      MVT::i1, 2, 2, 3,
     23,
      OPC_CheckChild2CondCode, ISD::SETOLE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpge),
                      MVT::i1, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpuo),
                      MVT::i1, 2, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                      MVT::i1, 2, 2, 3,
     23,
      OPC_CheckChild2CondCode, ISD::SETOLT,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpgt),
                      MVT::i1, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpuo),
                      MVT::i1, 2, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                      MVT::i1, 2, 2, 3,
     29,
      OPC_CheckChild2CondCode, ISD::SETONE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpeq),
                      MVT::i1, 2, 0, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpuo),
                      MVT::i1, 2, 0, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_or),
                      MVT::i1, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 4,
     0,
    7|128,3,
     OPC_CheckChild0Type, MVT::f64,
     OPC_RecordChild1,
     OPC_Scope, 9,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfcmpeq),
                      MVT::i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfcmpgt),
                      MVT::i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfcmpge),
                      MVT::i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETLT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfcmpgt),
                      MVT::i1, 2, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfcmpge),
                      MVT::i1, 2, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETUO,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfcmpuo),
                      MVT::i1, 2, 0, 1,
     15,
      OPC_CheckChild2CondCode, ISD::SETO,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpuo),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpeq),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 2,
     23,
      OPC_CheckChild2CondCode, ISD::SETUEQ,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpuo),
                      MVT::i1, 2, 0, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpeq),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_or),
                      MVT::i1, 2, 2, 3,
     23,
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpuo),
                      MVT::i1, 2, 0, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpge),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_or),
                      MVT::i1, 2, 2, 3,
     23,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpuo),
                      MVT::i1, 2, 0, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpgt),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_or),
                      MVT::i1, 2, 2, 3,
     23,
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpuo),
                      MVT::i1, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpge),
                      MVT::i1, 2, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_or),
                      MVT::i1, 2, 2, 3,
     23,
      OPC_CheckChild2CondCode, ISD::SETULT,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpuo),
                      MVT::i1, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpgt),
                      MVT::i1, 2, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_or),
                      MVT::i1, 2, 2, 3,
     23,
      OPC_CheckChild2CondCode, ISD::SETUNE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpuo),
                      MVT::i1, 2, 0, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpeq),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_orn),
                      MVT::i1, 2, 2, 3,
     23,
      OPC_CheckChild2CondCode, ISD::SETOEQ,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpeq),
                      MVT::i1, 2, 0, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpuo),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                      MVT::i1, 2, 2, 3,
     23,
      OPC_CheckChild2CondCode, ISD::SETOGE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpge),
                      MVT::i1, 2, 0, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpuo),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                      MVT::i1, 2, 2, 3,
     23,
      OPC_CheckChild2CondCode, ISD::SETOGT,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpgt),
                      MVT::i1, 2, 0, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpuo),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                      MVT::i1, 2, 2, 3,
     23,
      OPC_CheckChild2CondCode, ISD::SETOLE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpge),
                      MVT::i1, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpuo),
                      MVT::i1, 2, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                      MVT::i1, 2, 2, 3,
     23,
      OPC_CheckChild2CondCode, ISD::SETOLT,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpgt),
                      MVT::i1, 2, 1, 0,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpuo),
                      MVT::i1, 2, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                      MVT::i1, 2, 2, 3,
     29,
      OPC_CheckChild2CondCode, ISD::SETONE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpeq),
                      MVT::i1, 2, 0, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpuo),
                      MVT::i1, 2, 0, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_or),
                      MVT::i1, 2, 2, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 4,
     0,
    71,
     OPC_CheckChild0Type, MVT::i1,
     OPC_RecordChild1,
     OPC_Scope, 9,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_xor),
                      MVT::i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETLT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                      MVT::i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_orn),
                      MVT::i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETULT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                      MVT::i1, 2, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_orn),
                      MVT::i1, 2, 1, 0,
     15,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_xor),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::i1, 1, 2,
     0,
    0,
   83|128,1, MVT::v8i1,
    OPC_Scope, 7|128,1,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_Scope, 9,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vcmpbeq),
                      MVT::v8i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETLT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_vcmpbgt),
                      MVT::v8i1, 2, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_vcmpbgt),
                      MVT::v8i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETULT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vcmpbgtu),
                      MVT::v8i1, 2, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vcmpbgtu),
                      MVT::v8i1, 2, 0, 1,
     15,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vcmpbeq),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::v8i1, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_vcmpbgt),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::v8i1, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vcmpbgtu),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::v8i1, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_vcmpbgt),
                      MVT::i1, 2, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::v8i1, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vcmpbgtu),
                      MVT::i1, 2, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::v8i1, 1, 2,
     0,
    71,
     OPC_CheckChild0Type, MVT::v8i1,
     OPC_RecordChild1,
     OPC_Scope, 9,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_xor),
                      MVT::v8i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETLT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                      MVT::v8i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_orn),
                      MVT::v8i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETULT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                      MVT::v8i1, 2, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_orn),
                      MVT::v8i1, 2, 1, 0,
     15,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_xor),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::v8i1, 1, 2,
     0,
    0,
   83|128,1, MVT::v4i1,
    OPC_Scope, 7|128,1,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_Scope, 9,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vcmpheq),
                      MVT::v4i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETLT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vcmphgt),
                      MVT::v4i1, 2, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vcmphgt),
                      MVT::v4i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETULT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vcmphgtu),
                      MVT::v4i1, 2, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vcmphgtu),
                      MVT::v4i1, 2, 0, 1,
     15,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vcmpheq),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::v4i1, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vcmphgt),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::v4i1, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vcmphgtu),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::v4i1, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vcmphgt),
                      MVT::i1, 2, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::v4i1, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vcmphgtu),
                      MVT::i1, 2, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::v4i1, 1, 2,
     0,
    71,
     OPC_CheckChild0Type, MVT::v4i1,
     OPC_RecordChild1,
     OPC_Scope, 9,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_xor),
                      MVT::v4i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETLT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                      MVT::v4i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_orn),
                      MVT::v4i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETULT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                      MVT::v4i1, 2, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_orn),
                      MVT::v4i1, 2, 1, 0,
     15,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_xor),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::v4i1, 1, 2,
     0,
    0,
   83|128,1, MVT::v2i1,
    OPC_Scope, 7|128,1,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_Scope, 9,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vcmpweq),
                      MVT::v2i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETLT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vcmpwgt),
                      MVT::v2i1, 2, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vcmpwgt),
                      MVT::v2i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETULT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vcmpwgtu),
                      MVT::v2i1, 2, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vcmpwgtu),
                      MVT::v2i1, 2, 0, 1,
     15,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vcmpweq),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::v2i1, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vcmpwgt),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::v2i1, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vcmpwgtu),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::v2i1, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETGE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vcmpwgt),
                      MVT::i1, 2, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::v2i1, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETUGE,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vcmpwgtu),
                      MVT::i1, 2, 1, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::v2i1, 1, 2,
     0,
    71,
     OPC_CheckChild0Type, MVT::v2i1,
     OPC_RecordChild1,
     OPC_Scope, 9,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_xor),
                      MVT::v2i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETLT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                      MVT::v2i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETLE,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_orn),
                      MVT::v2i1, 2, 0, 1,
     9,
      OPC_CheckChild2CondCode, ISD::SETULT,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_andn),
                      MVT::v2i1, 2, 1, 0,
     9,
      OPC_CheckChild2CondCode, ISD::SETULE,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_orn),
                      MVT::v2i1, 2, 1, 0,
     15,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_xor),
                      MVT::i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                      MVT::v2i1, 1, 2,
     0,
    0,
   84|128,1, MVT::v64i1,
    OPC_Scope, 74,
     OPC_CheckChild0Type, MVT::v64i8,
     OPC_RecordChild1,
     OPC_Scope, 22,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb),
                       MVT::v64i1, 2, 0, 1,
      8,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb),
                       MVT::v64i1, 2, 0, 1,
      0,
     22,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb),
                       MVT::v64i1, 2, 0, 1,
      8,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb),
                       MVT::v64i1, 2, 0, 1,
      0,
     22,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub),
                       MVT::v64i1, 2, 0, 1,
      8,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub),
                       MVT::v64i1, 2, 0, 1,
      0,
     0,
    38,
     OPC_CheckChild0Type, MVT::v64i16,
     OPC_RecordChild1,
     OPC_Scope, 10,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh),
                      MVT::v64i1, 2, 0, 1,
     10,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth),
                      MVT::v64i1, 2, 0, 1,
     10,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh),
                      MVT::v64i1, 2, 0, 1,
     0,
    95,
     OPC_CheckChild0Type, MVT::v64f16,
     OPC_RecordChild1,
     OPC_Scope, 11,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh),
                      MVT::v64i1, 2, 0, 1,
     11,
      OPC_CheckChild2CondCode, ISD::SETOEQ,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh),
                      MVT::v64i1, 2, 0, 1,
     11,
      OPC_CheckChild2CondCode, ISD::SETUEQ,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh),
                      MVT::v64i1, 2, 0, 1,
     11,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf),
                      MVT::v64i1, 2, 0, 1,
     11,
      OPC_CheckChild2CondCode, ISD::SETOGT,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf),
                      MVT::v64i1, 2, 0, 1,
     11,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf),
                      MVT::v64i1, 2, 0, 1,
     17,
      OPC_CheckChild2CondCode, ISD::SETONE,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqh),
                      MVT::v32i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v64i1, 1, 2,
     0,
    0,
   38, MVT::v128i1,
    OPC_CheckChild0Type, MVT::v128i8,
    OPC_RecordChild1,
    OPC_Scope, 10,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb),
                     MVT::v128i1, 2, 0, 1,
    10,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb),
                     MVT::v128i1, 2, 0, 1,
    10,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub),
                     MVT::v128i1, 2, 0, 1,
    0,
   23|128,3, MVT::v32i1,
    OPC_Scope, 74,
     OPC_CheckChild0Type, MVT::v32i16,
     OPC_RecordChild1,
     OPC_Scope, 22,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh),
                       MVT::v32i1, 2, 0, 1,
      8,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh),
                       MVT::v32i1, 2, 0, 1,
      0,
     22,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth),
                       MVT::v32i1, 2, 0, 1,
      8,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth),
                       MVT::v32i1, 2, 0, 1,
      0,
     22,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh),
                       MVT::v32i1, 2, 0, 1,
      8,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh),
                       MVT::v32i1, 2, 0, 1,
      0,
     0,
    38,
     OPC_CheckChild0Type, MVT::v32i32,
     OPC_RecordChild1,
     OPC_Scope, 10,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw),
                      MVT::v32i1, 2, 0, 1,
     10,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw),
                      MVT::v32i1, 2, 0, 1,
     10,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw),
                      MVT::v32i1, 2, 0, 1,
     0,
    64|128,1,
     OPC_CheckChild0Type, MVT::v32f16,
     OPC_RecordChild1,
     OPC_Scope, 24,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh),
                       MVT::v32i1, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh),
                       MVT::v32i1, 2, 0, 1,
      0,
     24,
      OPC_CheckChild2CondCode, ISD::SETOEQ,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh),
                       MVT::v32i1, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh),
                       MVT::v32i1, 2, 0, 1,
      0,
     24,
      OPC_CheckChild2CondCode, ISD::SETUEQ,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh),
                       MVT::v32i1, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh),
                       MVT::v32i1, 2, 0, 1,
      0,
     24,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf),
                       MVT::v32i1, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf),
                       MVT::v32i1, 2, 0, 1,
      0,
     24,
      OPC_CheckChild2CondCode, ISD::SETOGT,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf),
                       MVT::v32i1, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf),
                       MVT::v32i1, 2, 0, 1,
      0,
     24,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf),
                       MVT::v32i1, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf),
                       MVT::v32i1, 2, 0, 1,
      0,
     36,
      OPC_CheckChild2CondCode, ISD::SETONE,
      OPC_Scope, 15,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqh),
                       MVT::v16i1, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                       MVT::v32i1, 1, 2,
      15,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqh),
                       MVT::v16i1, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                       MVT::v32i1, 1, 2,
      0,
     0,
    96,
     OPC_CheckChild0Type, 14|128,1,
     OPC_RecordChild1,
     OPC_Scope, 11,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw),
                      MVT::v32i1, 2, 0, 1,
     11,
      OPC_CheckChild2CondCode, ISD::SETOEQ,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw),
                      MVT::v32i1, 2, 0, 1,
     11,
      OPC_CheckChild2CondCode, ISD::SETUEQ,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw),
                      MVT::v32i1, 2, 0, 1,
     11,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf),
                      MVT::v32i1, 2, 0, 1,
     11,
      OPC_CheckChild2CondCode, ISD::SETOGT,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf),
                      MVT::v32i1, 2, 0, 1,
     11,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf),
                      MVT::v32i1, 2, 0, 1,
     17,
      OPC_CheckChild2CondCode, ISD::SETONE,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqw),
                      MVT::v32i1, 2, 0, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v32i1, 1, 2,
     0,
    0,
   16|128,2, MVT::v16i1,
    OPC_Scope, 74,
     OPC_CheckChild0Type, MVT::v16i32,
     OPC_RecordChild1,
     OPC_Scope, 22,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw),
                       MVT::v16i1, 2, 0, 1,
      8,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw),
                       MVT::v16i1, 2, 0, 1,
      0,
     22,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw),
                       MVT::v16i1, 2, 0, 1,
      8,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw),
                       MVT::v16i1, 2, 0, 1,
      0,
     22,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw),
                       MVT::v16i1, 2, 0, 1,
      8,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw),
                       MVT::v16i1, 2, 0, 1,
      0,
     0,
    65|128,1,
     OPC_CheckChild0Type, 13|128,1,
     OPC_RecordChild1,
     OPC_Scope, 24,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw),
                       MVT::v16i1, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw),
                       MVT::v16i1, 2, 0, 1,
      0,
     24,
      OPC_CheckChild2CondCode, ISD::SETOEQ,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw),
                       MVT::v16i1, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw),
                       MVT::v16i1, 2, 0, 1,
      0,
     24,
      OPC_CheckChild2CondCode, ISD::SETUEQ,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw),
                       MVT::v16i1, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw),
                       MVT::v16i1, 2, 0, 1,
      0,
     24,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf),
                       MVT::v16i1, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf),
                       MVT::v16i1, 2, 0, 1,
      0,
     24,
      OPC_CheckChild2CondCode, ISD::SETOGT,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf),
                       MVT::v16i1, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf),
                       MVT::v16i1, 2, 0, 1,
      0,
     24,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf),
                       MVT::v16i1, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf),
                       MVT::v16i1, 2, 0, 1,
      0,
     36,
      OPC_CheckChild2CondCode, ISD::SETONE,
      OPC_Scope, 15,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqw),
                       MVT::v16i1, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                       MVT::v16i1, 1, 2,
      15,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqw),
                       MVT::v16i1, 2, 0, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                       MVT::v16i1, 1, 2,
      0,
     0,
    0,
   0,
  0,
 29|128,12, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
  OPC_Scope, 63|128,5,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 82|128,2, TARGET_VAL(ISD::SELECT),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckPredicate, 67,
    OPC_CheckTypeI32,
    OPC_MoveSibling1,
    OPC_RecordNode,
    OPC_CheckPredicate, 67,
    OPC_MoveParent,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 39,
     OPC_CheckChild2CondCode, ISD::SETGE,
     OPC_MoveParent,
     OPC_Scope, 16,
      OPC_CheckChild1Same, 0,
      OPC_CheckChild2Same, 1,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_max),
                      MVT::i32, 2, 0, 1,
     16,
      OPC_CheckChild1Same, 1,
      OPC_CheckChild2Same, 0,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_min),
                      MVT::i32, 2, 0, 1,
     0,
    39,
     OPC_CheckChild2CondCode, ISD::SETGT,
     OPC_MoveParent,
     OPC_Scope, 16,
      OPC_CheckChild1Same, 0,
      OPC_CheckChild2Same, 1,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_max),
                      MVT::i32, 2, 0, 1,
     16,
      OPC_CheckChild1Same, 1,
      OPC_CheckChild2Same, 0,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_min),
                      MVT::i32, 2, 0, 1,
     0,
    39,
     OPC_CheckChild2CondCode, ISD::SETLE,
     OPC_MoveParent,
     OPC_Scope, 16,
      OPC_CheckChild1Same, 0,
      OPC_CheckChild2Same, 1,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_min),
                      MVT::i32, 2, 0, 1,
     16,
      OPC_CheckChild1Same, 1,
      OPC_CheckChild2Same, 0,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_max),
                      MVT::i32, 2, 0, 1,
     0,
    39,
     OPC_CheckChild2CondCode, ISD::SETLT,
     OPC_MoveParent,
     OPC_Scope, 16,
      OPC_CheckChild1Same, 0,
      OPC_CheckChild2Same, 1,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_min),
                      MVT::i32, 2, 0, 1,
     16,
      OPC_CheckChild1Same, 1,
      OPC_CheckChild2Same, 0,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_max),
                      MVT::i32, 2, 0, 1,
     0,
    39,
     OPC_CheckChild2CondCode, ISD::SETUGE,
     OPC_MoveParent,
     OPC_Scope, 16,
      OPC_CheckChild1Same, 0,
      OPC_CheckChild2Same, 1,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_maxu),
                      MVT::i32, 2, 0, 1,
     16,
      OPC_CheckChild1Same, 1,
      OPC_CheckChild2Same, 0,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_minu),
                      MVT::i32, 2, 0, 1,
     0,
    39,
     OPC_CheckChild2CondCode, ISD::SETUGT,
     OPC_MoveParent,
     OPC_Scope, 16,
      OPC_CheckChild1Same, 0,
      OPC_CheckChild2Same, 1,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_maxu),
                      MVT::i32, 2, 0, 1,
     16,
      OPC_CheckChild1Same, 1,
      OPC_CheckChild2Same, 0,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_minu),
                      MVT::i32, 2, 0, 1,
     0,
    39,
     OPC_CheckChild2CondCode, ISD::SETULE,
     OPC_MoveParent,
     OPC_Scope, 16,
      OPC_CheckChild1Same, 0,
      OPC_CheckChild2Same, 1,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_minu),
                      MVT::i32, 2, 0, 1,
     16,
      OPC_CheckChild1Same, 1,
      OPC_CheckChild2Same, 0,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_maxu),
                      MVT::i32, 2, 0, 1,
     0,
    39,
     OPC_CheckChild2CondCode, ISD::SETULT,
     OPC_MoveParent,
     OPC_Scope, 16,
      OPC_CheckChild1Same, 0,
      OPC_CheckChild2Same, 1,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_minu),
                      MVT::i32, 2, 0, 1,
     16,
      OPC_CheckChild1Same, 1,
      OPC_CheckChild2Same, 0,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_maxu),
                      MVT::i32, 2, 0, 1,
     0,
    0,
   64|128,2, TARGET_VAL(HexagonISD::EXTRACTU),
    OPC_RecordChild0,
    OPC_Scope, 125,
     OPC_CheckChild1Integer, 8,
     OPC_RecordChild2,
     OPC_Scope, 46,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_Scope, 19,
       OPC_CheckPredicate, 11,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitIntegerI32, 8,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_extract),
                       MVT::i32, 3, 0, 2, 3,
      19,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i8,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_EmitIntegerI32, 8,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_extractp),
                       MVT::i64, 3, 0, 2, 3,
      0,
     72,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i8,
      OPC_MoveParent,
      OPC_SwitchType , 31, MVT::i32,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitIntegerI32, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 3,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 2, 4, 5, 1, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_extract_rp),
                       MVT::i32, 2, 0, 7,
      31, MVT::i64,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitIntegerI32, 8,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 3,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 2, 4, 5, 1, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_extractp_rp),
                       MVT::i64, 2, 0, 7,
      0,
     0,
    125,
     OPC_CheckChild1Integer, 16,
     OPC_RecordChild2,
     OPC_Scope, 46,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_Scope, 19,
       OPC_CheckPredicate, 11,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitIntegerI32, 16,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_extract),
                       MVT::i32, 3, 0, 2, 3,
      19,
       OPC_CheckPredicate, 12,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::i16,
       OPC_MoveParent,
       OPC_CheckTypeI64,
       OPC_EmitIntegerI32, 16,
       OPC_EmitConvertToTarget1,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_extractp),
                       MVT::i64, 3, 0, 2, 3,
      0,
     72,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i16,
      OPC_MoveParent,
      OPC_SwitchType , 31, MVT::i32,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitIntegerI32, 16,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 3,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 2, 4, 5, 1, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_extract_rp),
                       MVT::i32, 2, 0, 7,
      31, MVT::i64,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitIntegerI32, 16,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 3,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 2, 4, 5, 1, 6,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_extractp_rp),
                       MVT::i64, 2, 0, 7,
      0,
     0,
    64,
     OPC_CheckChild1Integer, 32,
     OPC_RecordChild2,
     OPC_Scope, 22,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i32,
      OPC_MoveParent,
      OPC_EmitIntegerI32, 32,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_extractp),
                      MVT::i64, 3, 0, 2, 3,
     35,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::i32,
      OPC_MoveParent,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitIntegerI32, 32,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 3,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 2, 4, 5, 1, 6,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_extractp_rp),
                      MVT::i64, 2, 0, 7,
     0,
    0,
   14, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_addh_l16_ll),
                    MVT::i32, 2, 0, 1,
   14, TARGET_VAL(ISD::SUB),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling1,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_subh_l16_ll),
                    MVT::i32, 2, 0, 1,
   0,
  88|128,6,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_Scope, 36,
    OPC_CheckValueType, MVT::i8,
    OPC_MoveParent,
    OPC_SwitchType , 6, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_sxtb),
                     MVT::i32, 1, 0,
    21, MVT::i64,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_sxtb),
                     MVT::i32, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_sxtw),
                     MVT::i64, 1, 3,
    0,
   36,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_SwitchType , 6, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_sxth),
                     MVT::i32, 1, 0,
    21, MVT::i64,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_sxth),
                     MVT::i32, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_sxtw),
                     MVT::i64, 1, 3,
    0,
   18,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_sxtw),
                    MVT::i64, 1, 2,
   85|128,1,
    OPC_CheckValueType, MVT::v32i8,
    OPC_MoveParent,
    OPC_SwitchType , 68, MVT::v32i16,
     OPC_Scope, 32,
      OPC_CheckPatternPredicate, 90,
      OPC_EmitIntegerI32, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslh),
                      MVT::v64i8, 2, 0, 2,
      OPC_EmitIntegerI32, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrh),
                      MVT::v32i16, 2, 3, 5,
     32,
      OPC_CheckPatternPredicate, 91,
      OPC_EmitIntegerI32, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslh),
                      MVT::v64i8, 2, 0, 2,
      OPC_EmitIntegerI32, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrh),
                      MVT::v32i16, 2, 3, 5,
     0,
    32, MVT::v64i16,
     OPC_CheckPatternPredicate, 92,
     OPC_EmitIntegerI32, 8,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslh),
                     MVT::v128i8, 2, 0, 2,
     OPC_EmitIntegerI32, 8,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrh),
                     MVT::v64i16, 2, 3, 5,
    68, MVT::v16i32,
     OPC_Scope, 32,
      OPC_CheckPatternPredicate, 93,
      OPC_EmitIntegerI32, 24,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslw),
                      MVT::v64i8, 2, 0, 2,
      OPC_EmitIntegerI32, 24,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw),
                      MVT::v16i32, 2, 3, 5,
     32,
      OPC_CheckPatternPredicate, 94,
      OPC_EmitIntegerI32, 24,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslw),
                      MVT::v64i8, 2, 0, 2,
      OPC_EmitIntegerI32, 24,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw),
                      MVT::v16i32, 2, 3, 5,
     0,
    32, MVT::v32i32,
     OPC_CheckPatternPredicate, 95,
     OPC_EmitIntegerI32, 24,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslw),
                     MVT::v128i8, 2, 0, 2,
     OPC_EmitIntegerI32, 24,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw),
                     MVT::v32i32, 2, 3, 5,
    0,
   109,
    OPC_CheckValueType, MVT::v16i8,
    OPC_MoveParent,
    OPC_SwitchType , 68, MVT::v16i32,
     OPC_Scope, 32,
      OPC_CheckPatternPredicate, 90,
      OPC_EmitIntegerI32, 24,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslw),
                      MVT::v64i8, 2, 0, 2,
      OPC_EmitIntegerI32, 24,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw),
                      MVT::v16i32, 2, 3, 5,
     32,
      OPC_CheckPatternPredicate, 91,
      OPC_EmitIntegerI32, 24,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslw),
                      MVT::v64i8, 2, 0, 2,
      OPC_EmitIntegerI32, 24,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw),
                      MVT::v16i32, 2, 3, 5,
     0,
    32, MVT::v32i32,
     OPC_CheckPatternPredicate, 92,
     OPC_EmitIntegerI32, 24,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslw),
                     MVT::v128i8, 2, 0, 2,
     OPC_EmitIntegerI32, 24,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw),
                     MVT::v32i32, 2, 3, 5,
    0,
   109,
    OPC_CheckValueType, MVT::v16i16,
    OPC_MoveParent,
    OPC_SwitchType , 68, MVT::v16i32,
     OPC_Scope, 32,
      OPC_CheckPatternPredicate, 90,
      OPC_EmitIntegerI32, 16,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslw),
                      MVT::v64i8, 2, 0, 2,
      OPC_EmitIntegerI32, 16,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw),
                      MVT::v16i32, 2, 3, 5,
     32,
      OPC_CheckPatternPredicate, 91,
      OPC_EmitIntegerI32, 16,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslw),
                      MVT::v64i8, 2, 0, 2,
      OPC_EmitIntegerI32, 16,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw),
                      MVT::v16i32, 2, 3, 5,
     0,
    32, MVT::v32i32,
     OPC_CheckPatternPredicate, 92,
     OPC_EmitIntegerI32, 16,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslw),
                     MVT::v128i8, 2, 0, 2,
     OPC_EmitIntegerI32, 16,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw),
                     MVT::v32i32, 2, 3, 5,
    0,
   109,
    OPC_CheckValueType, MVT::v64i8,
    OPC_MoveParent,
    OPC_SwitchType , 68, MVT::v32i16,
     OPC_Scope, 32,
      OPC_CheckPatternPredicate, 93,
      OPC_EmitIntegerI32, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslh),
                      MVT::v64i8, 2, 0, 2,
      OPC_EmitIntegerI32, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrh),
                      MVT::v32i16, 2, 3, 5,
     32,
      OPC_CheckPatternPredicate, 94,
      OPC_EmitIntegerI32, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslh),
                      MVT::v64i8, 2, 0, 2,
      OPC_EmitIntegerI32, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrh),
                      MVT::v32i16, 2, 3, 5,
     0,
    32, MVT::v64i16,
     OPC_CheckPatternPredicate, 95,
     OPC_EmitIntegerI32, 8,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslh),
                     MVT::v128i8, 2, 0, 2,
     OPC_EmitIntegerI32, 8,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrh),
                     MVT::v64i16, 2, 3, 5,
    0,
   109,
    OPC_CheckValueType, MVT::v32i16,
    OPC_MoveParent,
    OPC_SwitchType , 68, MVT::v16i32,
     OPC_Scope, 32,
      OPC_CheckPatternPredicate, 93,
      OPC_EmitIntegerI32, 16,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslw),
                      MVT::v64i8, 2, 0, 2,
      OPC_EmitIntegerI32, 16,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw),
                      MVT::v16i32, 2, 3, 5,
     32,
      OPC_CheckPatternPredicate, 94,
      OPC_EmitIntegerI32, 16,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslw),
                      MVT::v64i8, 2, 0, 2,
      OPC_EmitIntegerI32, 16,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw),
                      MVT::v16i32, 2, 3, 5,
     0,
    32, MVT::v32i32,
     OPC_CheckPatternPredicate, 95,
     OPC_EmitIntegerI32, 16,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslw),
                     MVT::v128i8, 2, 0, 2,
     OPC_EmitIntegerI32, 16,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw),
                     MVT::v32i32, 2, 3, 5,
    0,
   51,
    OPC_CheckValueType, MVT::v2i8,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_sxtb),
                    MVT::i32, 1, 3,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 6,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_sxtb),
                    MVT::i32, 1, 7,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v2i32, 5, 1, 4, 5, 8, 9,
   51,
    OPC_CheckValueType, MVT::v2i16,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_sxth),
                    MVT::i32, 1, 3,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 6,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_sxth),
                    MVT::i32, 1, 7,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v2i32, 5, 1, 4, 5, 8, 9,
   0,
  0,
 55|128,46|128,2, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
  OPC_Scope, 35,
   OPC_CheckChild0Integer, 7|128,39,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckChild2Integer, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_tfr),
                    MVT::i32, 1, 0,
   19,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 17, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_r_rnd),
                    MVT::i32, 2, 0, 3,
   0,
  37,
   OPC_CheckChild0Integer, 59|128,40,
   OPC_RecordChild1,
   OPC_Scope, 9,
    OPC_CheckChild2Integer, 0,
    OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S2_vsathub),
                    MVT::i32, MVT::i1, 1, 0,
   20,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 41,
    OPC_MoveParent,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 17, 2,
    OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S5_asrhub_rnd_sat),
                    MVT::i32, MVT::i1, 2, 0, 3,
   0,
  54,
   OPC_CheckChild0Integer, 0|128,39,
   OPC_RecordChild1,
   OPC_Scope, 27,
    OPC_CheckChild2Integer, 0,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_combinew),
                    MVT::i64, 2, 2, 4,
   19,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 17, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_p_rnd),
                    MVT::i64, 2, 0, 3,
   0,
  54,
   OPC_CheckChild0Integer, 62|128,40,
   OPC_RecordChild1,
   OPC_Scope, 27,
    OPC_CheckChild2Integer, 0,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_combinew),
                    MVT::i64, 2, 2, 4,
   19,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 41,
    OPC_MoveParent,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 17, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S5_vasrhrnd),
                    MVT::i64, 2, 0, 3,
   0,
  34,
   OPC_CheckChild0Integer, 119|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 41,
   OPC_MoveSibling4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_EmitConvertToTarget2,
   OPC_EmitConvertToTarget3,
   OPC_EmitNodeXForm, 0, 5,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_tableidxb),
                   MVT::i32, 4, 0, 1, 4, 6,
  34,
   OPC_CheckChild0Integer, 121|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 41,
   OPC_MoveSibling4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_EmitConvertToTarget2,
   OPC_EmitConvertToTarget3,
   OPC_EmitNodeXForm, 18, 5,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_tableidxh),
                   MVT::i32, 4, 0, 1, 4, 6,
  34,
   OPC_CheckChild0Integer, 122|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 41,
   OPC_MoveSibling4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_EmitConvertToTarget2,
   OPC_EmitConvertToTarget3,
   OPC_EmitNodeXForm, 19, 5,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_tableidxw),
                   MVT::i32, 4, 0, 1, 4, 6,
  34,
   OPC_CheckChild0Integer, 120|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 41,
   OPC_MoveSibling4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_EmitConvertToTarget2,
   OPC_EmitConvertToTarget3,
   OPC_EmitNodeXForm, 20, 5,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_tableidxd),
                   MVT::i32, 4, 0, 1, 4, 6,
  26,
   OPC_CheckChild0Integer, 79|128,33,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 26,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 42,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_combineii),
                   MVT::i64, 2, 0, 1,
  30,
   OPC_CheckChild0Integer, 36|128,38,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 32,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 38,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_mpyri_addi),
                   MVT::i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 42|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_extractu),
                   MVT::i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 44|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_extractup),
                   MVT::i64, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 46|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveSibling4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_insert),
                   MVT::i32, 4, 0, 1, 2, 3,
  30,
   OPC_CheckChild0Integer, 48|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveSibling4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_insertp),
                   MVT::i64, 4, 0, 1, 2, 3,
  30,
   OPC_CheckChild0Integer, 27|128,40,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 32,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 38,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_addi_asl_ri),
                   MVT::i32, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 28|128,40,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 32,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 38,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_addi_lsr_ri),
                   MVT::i32, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 29|128,40,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 32,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 38,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_andi_asl_ri),
                   MVT::i32, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 30|128,40,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 32,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 38,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_andi_lsr_ri),
                   MVT::i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 34|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_extract),
                   MVT::i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 36|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_extractp),
                   MVT::i64, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 44|128,40,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 32,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 38,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_ori_asl_ri),
                   MVT::i32, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 45|128,40,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 32,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 38,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_ori_lsr_ri),
                   MVT::i32, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 49|128,40,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 32,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 38,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_subi_asl_ri),
                   MVT::i32, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 50|128,40,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 32,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 38,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_subi_lsr_ri),
                   MVT::i32, 3, 0, 1, 2,
  27,
   OPC_CheckChild0Integer, 92|128,39,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 56,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_mask),
                   MVT::i32, 2, 0, 1,
  34,
   OPC_CheckChild0Integer, 29|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 26,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_CheckPredicate, 42,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_muxii),
                   MVT::i32, 3, 3, 1, 2,
  48,
   OPC_CheckChild0Integer, 18|128,35,
   OPC_RecordChild1,
   OPC_Scope, 15,
    OPC_CheckChild2Integer, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpeq),
                    MVT::i1, 2, 0, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                    MVT::i32, 1, 1,
   25,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 32,
    OPC_MoveParent,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 17, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpgtui),
                    MVT::i1, 2, 0, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                    MVT::i32, 1, 4,
   0,
  33,
   OPC_CheckChild0Integer, 65|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 11,
    OPC_CheckPredicate, 26,
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_addi),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_MoveParent,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_addi),
                    MVT::i32, 2, 0, 2,
   0,
  33,
   OPC_CheckChild0Integer, 71|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 11,
    OPC_CheckPredicate, 26,
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_andir),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_MoveParent,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_andir),
                    MVT::i32, 2, 0, 2,
   0,
  33,
   OPC_CheckChild0Integer, 95|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 11,
    OPC_CheckPredicate, 26,
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_orir),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_MoveParent,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_orir),
                    MVT::i32, 2, 0, 2,
   0,
  34,
   OPC_CheckChild0Integer, 117|128,33,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 12,
    OPC_CheckPredicate, 26,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_subri),
                    MVT::i32, 2, 0, 1,
   10,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_EmitConvertToTarget0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_subri),
                    MVT::i32, 2, 2, 1,
   0,
  20,
   OPC_CheckChild0Integer, 5|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 51,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_tfrih),
                   MVT::i32, 2, 0, 1,
  20,
   OPC_CheckChild0Integer, 6|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 51,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_tfril),
                   MVT::i32, 2, 0, 1,
  18,
   OPC_CheckChild0Integer, 9|128,34,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 26,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_tfrsi),
                   MVT::i32, 1, 0,
  20,
   OPC_CheckChild0Integer, 80|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_bitspliti),
                   MVT::i64, 2, 0, 1,
  20,
   OPC_CheckChild0Integer, 94|128,34,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 26,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_combineir),
                   MVT::i64, 2, 0, 1,
  20,
   OPC_CheckChild0Integer, 95|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 26,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_combineri),
                   MVT::i64, 2, 0, 1,
  20,
   OPC_CheckChild0Integer, 96|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_cround_ri),
                   MVT::i32, 2, 0, 1,
  20,
   OPC_CheckChild0Integer, 102|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 26,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_rcmpeqi),
                   MVT::i32, 2, 0, 1,
  20,
   OPC_CheckChild0Integer, 104|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 26,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_rcmpneqi),
                   MVT::i32, 2, 0, 1,
  20,
   OPC_CheckChild0Integer, 105|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_round_ri),
                   MVT::i32, 2, 0, 1,
  21,
   OPC_CheckChild0Integer, 106|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A4_round_ri_sat),
                   MVT::i32, MVT::i1, 2, 0, 1,
  22,
   OPC_CheckChild0Integer, 14|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 26,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_accii),
                   MVT::i32, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 47|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 32,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_macsin),
                   MVT::i32, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 48|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 32,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_macsip),
                   MVT::i32, 3, 0, 1, 2,
  34,
   OPC_CheckChild0Integer, 54|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_SwitchOpcode , 11, TARGET_VAL(ISD::TargetConstant),
    OPC_CheckPredicate, 26,
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpysmi),
                    MVT::i32, 2, 0, 1,
   9, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpysmi),
                    MVT::i32, 2, 0, 2,
   0,
  22,
   OPC_CheckChild0Integer, 107|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 26,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_naccii),
                   MVT::i32, 3, 0, 1, 2,
  23,
   OPC_CheckChild0Integer, 37|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 32,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 38,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_mpyri_addr),
                   MVT::i32, 3, 0, 1, 2,
  23,
   OPC_CheckChild0Integer, 38|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 38,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_mpyri_addr_u2),
                   MVT::i32, 3, 0, 1, 2,
  23,
   OPC_CheckChild0Integer, 39|128,38,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 32,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 38,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_mpyrr_addi),
                   MVT::i32, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 92|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 35,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_addasl_rrri),
                   MVT::i32, 3, 0, 1, 2,
  33,
   OPC_CheckChild0Integer, 93|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 11,
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_p),
                    MVT::i64, 2, 0, 1,
   9,
    OPC_MoveParent,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_p),
                    MVT::i64, 2, 0, 2,
   0,
  22,
   OPC_CheckChild0Integer, 94|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_p_acc),
                   MVT::i64, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 95|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_p_and),
                   MVT::i64, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 96|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_p_nac),
                   MVT::i64, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 97|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_p_or),
                   MVT::i64, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 98|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_p_xacc),
                   MVT::i64, 3, 0, 1, 2,
  33,
   OPC_CheckChild0Integer, 99|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 11,
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_r),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_MoveParent,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_r),
                    MVT::i32, 2, 0, 2,
   0,
  22,
   OPC_CheckChild0Integer, 100|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_r_acc),
                   MVT::i32, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 101|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_r_and),
                   MVT::i32, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 102|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_r_nac),
                   MVT::i32, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 103|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_r_or),
                   MVT::i32, 3, 0, 1, 2,
  21,
   OPC_CheckChild0Integer, 104|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S2_asl_i_r_sat),
                   MVT::i32, MVT::i1, 2, 0, 1,
  22,
   OPC_CheckChild0Integer, 105|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_r_xacc),
                   MVT::i32, 3, 0, 1, 2,
  20,
   OPC_CheckChild0Integer, 106|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 41,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_vh),
                   MVT::i64, 2, 0, 1,
  20,
   OPC_CheckChild0Integer, 107|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_vw),
                   MVT::i64, 2, 0, 1,
  33,
   OPC_CheckChild0Integer, 122|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 11,
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_p),
                    MVT::i64, 2, 0, 1,
   9,
    OPC_MoveParent,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_p),
                    MVT::i64, 2, 0, 2,
   0,
  22,
   OPC_CheckChild0Integer, 123|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_p_acc),
                   MVT::i64, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 124|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_p_and),
                   MVT::i64, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 125|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_p_nac),
                   MVT::i64, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 126|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_p_or),
                   MVT::i64, 3, 0, 1, 2,
  20,
   OPC_CheckChild0Integer, 127|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_p_rnd),
                   MVT::i64, 2, 0, 1,
  33,
   OPC_CheckChild0Integer, 1|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 11,
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_r),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_MoveParent,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_r),
                    MVT::i32, 2, 0, 2,
   0,
  22,
   OPC_CheckChild0Integer, 2|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_r_acc),
                   MVT::i32, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 3|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_r_and),
                   MVT::i32, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 4|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_r_nac),
                   MVT::i32, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 5|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_r_or),
                   MVT::i32, 3, 0, 1, 2,
  20,
   OPC_CheckChild0Integer, 6|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_r_rnd),
                   MVT::i32, 2, 0, 1,
  20,
   OPC_CheckChild0Integer, 8|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_svw_trun),
                   MVT::i32, 2, 0, 1,
  20,
   OPC_CheckChild0Integer, 9|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 41,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_vh),
                   MVT::i64, 2, 0, 1,
  20,
   OPC_CheckChild0Integer, 10|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_vw),
                   MVT::i64, 2, 0, 1,
  20,
   OPC_CheckChild0Integer, 35|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_clrbit_i),
                   MVT::i32, 2, 0, 1,
  33,
   OPC_CheckChild0Integer, 65|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 11,
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_p),
                    MVT::i64, 2, 0, 1,
   9,
    OPC_MoveParent,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_p),
                    MVT::i64, 2, 0, 2,
   0,
  22,
   OPC_CheckChild0Integer, 66|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_p_acc),
                   MVT::i64, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 67|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_p_and),
                   MVT::i64, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 68|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_p_nac),
                   MVT::i64, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 69|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_p_or),
                   MVT::i64, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 70|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_p_xacc),
                   MVT::i64, 3, 0, 1, 2,
  33,
   OPC_CheckChild0Integer, 71|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_Scope, 11,
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_r),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_MoveParent,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_r),
                    MVT::i32, 2, 0, 2,
   0,
  22,
   OPC_CheckChild0Integer, 72|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_r_acc),
                   MVT::i32, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 73|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_r_and),
                   MVT::i32, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 74|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_r_nac),
                   MVT::i32, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 75|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_r_or),
                   MVT::i32, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 76|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_r_xacc),
                   MVT::i32, 3, 0, 1, 2,
  20,
   OPC_CheckChild0Integer, 77|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 41,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_vh),
                   MVT::i64, 2, 0, 1,
  20,
   OPC_CheckChild0Integer, 78|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_vw),
                   MVT::i64, 2, 0, 1,
  20,
   OPC_CheckChild0Integer, 95|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_setbit_i),
                   MVT::i32, 2, 0, 1,
  20,
   OPC_CheckChild0Integer, 123|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_togglebit_i),
                   MVT::i32, 2, 0, 1,
  22,
   OPC_CheckChild0Integer, 127|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 35,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_valignib),
                   MVT::i64, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 16|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 35,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vspliceib),
                   MVT::i64, 3, 0, 1, 2,
  23,
   OPC_CheckChild0Integer, 26|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 26,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 38,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_addaddi),
                   MVT::i32, 3, 0, 1, 2,
  20,
   OPC_CheckChild0Integer, 31|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 59,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_clbaddi),
                   MVT::i32, 2, 0, 1,
  20,
   OPC_CheckChild0Integer, 32|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 59,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_clbpaddi),
                   MVT::i32, 2, 0, 1,
  20,
   OPC_CheckChild0Integer, 38|128,40,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 59,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_lsli),
                   MVT::i32, 2, 0, 1,
  22,
   OPC_CheckChild0Integer, 41|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 26,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_or_andi),
                   MVT::i32, 3, 0, 1, 2,
  23,
   OPC_CheckChild0Integer, 42|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 26,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 38,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_or_andix),
                   MVT::i32, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 43|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 26,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_or_ori),
                   MVT::i32, 3, 0, 1, 2,
  23,
   OPC_CheckChild0Integer, 48|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 26,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 38,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_subaddi),
                   MVT::i32, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 51|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 22,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_vrcrotate),
                   MVT::i64, 3, 0, 1, 2,
  24,
   OPC_CheckChild0Integer, 52|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 22,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_vrcrotate_acc),
                   MVT::i64, 4, 0, 1, 2, 3,
  21,
   OPC_CheckChild0Integer, 60|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 41,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S5_asrhub_sat),
                   MVT::i32, MVT::i1, 2, 0, 1,
  21,
   OPC_CheckChild0Integer, 63|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 30,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_p),
                   MVT::i64, 2, 0, 1,
  23,
   OPC_CheckChild0Integer, 64|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 30,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_p_acc),
                   MVT::i64, 3, 0, 1, 2,
  23,
   OPC_CheckChild0Integer, 65|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 30,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_p_and),
                   MVT::i64, 3, 0, 1, 2,
  23,
   OPC_CheckChild0Integer, 66|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 30,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_p_nac),
                   MVT::i64, 3, 0, 1, 2,
  23,
   OPC_CheckChild0Integer, 67|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 30,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_p_or),
                   MVT::i64, 3, 0, 1, 2,
  23,
   OPC_CheckChild0Integer, 68|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 30,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_p_xacc),
                   MVT::i64, 3, 0, 1, 2,
  21,
   OPC_CheckChild0Integer, 69|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 30,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_r),
                   MVT::i32, 2, 0, 1,
  23,
   OPC_CheckChild0Integer, 70|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 30,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_r_acc),
                   MVT::i32, 3, 0, 1, 2,
  23,
   OPC_CheckChild0Integer, 71|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 30,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_r_and),
                   MVT::i32, 3, 0, 1, 2,
  23,
   OPC_CheckChild0Integer, 72|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 30,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_r_nac),
                   MVT::i32, 3, 0, 1, 2,
  23,
   OPC_CheckChild0Integer, 73|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 30,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_r_or),
                   MVT::i32, 3, 0, 1, 2,
  23,
   OPC_CheckChild0Integer, 74|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 30,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_r_xacc),
                   MVT::i32, 3, 0, 1, 2,
  21,
   OPC_CheckChild0Integer, 3|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A7_clip),
                   MVT::i32, 2, 0, 1,
  21,
   OPC_CheckChild0Integer, 4|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A7_croundd_ri),
                   MVT::i64, 2, 0, 1,
  21,
   OPC_CheckChild0Integer, 6|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A7_vclip),
                   MVT::i64, 2, 0, 1,
  29,
   OPC_CheckChild0Integer, 17|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 26,
   OPC_MoveParent,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 18, 2,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpgti),
                   MVT::i1, 2, 0, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 4,
  26,
   OPC_CheckChild0Integer, 83|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 50,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_cmpbeqi),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  26,
   OPC_CheckChild0Integer, 85|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 42,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_cmpbgti),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  26,
   OPC_CheckChild0Integer, 87|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 32,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_cmpbgtui),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  26,
   OPC_CheckChild0Integer, 89|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 26,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_cmpheqi),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  26,
   OPC_CheckChild0Integer, 91|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 26,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_cmphgti),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  26,
   OPC_CheckChild0Integer, 93|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 32,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_cmphgtui),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  26,
   OPC_CheckChild0Integer, 111|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 50,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_vcmpbeqi),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  26,
   OPC_CheckChild0Integer, 113|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 42,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_vcmpbgti),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  26,
   OPC_CheckChild0Integer, 114|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 62,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_vcmpbgtui),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  26,
   OPC_CheckChild0Integer, 115|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 42,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_vcmpheqi),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  26,
   OPC_CheckChild0Integer, 116|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 42,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_vcmphgti),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  26,
   OPC_CheckChild0Integer, 117|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 62,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_vcmphgtui),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  26,
   OPC_CheckChild0Integer, 118|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 42,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_vcmpweqi),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  26,
   OPC_CheckChild0Integer, 119|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 42,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_vcmpwgti),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  26,
   OPC_CheckChild0Integer, 120|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 62,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_vcmpwgtui),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  26,
   OPC_CheckChild0Integer, 12|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_bitsclri),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  26,
   OPC_CheckChild0Integer, 15|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 26,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpeqi),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  26,
   OPC_CheckChild0Integer, 20|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 26,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpgti),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  26,
   OPC_CheckChild0Integer, 23|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 32,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpgtui),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  28,
   OPC_CheckChild0Integer, 30|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 26,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_muxir),
                   MVT::i32, 3, 3, 1, 2,
  28,
   OPC_CheckChild0Integer, 31|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 26,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_muxri),
                   MVT::i32, 3, 3, 1, 2,
  26,
   OPC_CheckChild0Integer, 46|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 26,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_cmpltei),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  26,
   OPC_CheckChild0Integer, 48|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 32,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_cmplteui),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  26,
   OPC_CheckChild0Integer, 50|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 26,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_cmpneqi),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  26,
   OPC_CheckChild0Integer, 54|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_nbitsclri),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  26,
   OPC_CheckChild0Integer, 87|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfclass),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  26,
   OPC_CheckChild0Integer, 102|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfclass),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  26,
   OPC_CheckChild0Integer, 125|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_tstbit_i),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  26,
   OPC_CheckChild0Integer, 39|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S4_ntstbit_i),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  18,
   OPC_CheckChild0Integer, 8|128,34,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_EmitNodeXForm, 21, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_tfrpi),
                   MVT::i64, 1, 1,
  24,
   OPC_CheckChild0Integer, 52|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_add),
                    MVT::i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_add),
                    MVT::i32, 2, 0, 1,
   0,
  24,
   OPC_CheckChild0Integer, 66|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_addp),
                    MVT::i64, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_addp),
                    MVT::i64, 2, 0, 1,
   0,
  24,
   OPC_CheckChild0Integer, 103|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_sub),
                    MVT::i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_sub),
                    MVT::i32, 2, 0, 1,
   0,
  24,
   OPC_CheckChild0Integer, 116|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_subp),
                    MVT::i64, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_subp),
                    MVT::i64, 2, 0, 1,
   0,
  24,
   OPC_CheckChild0Integer, 53|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyi),
                    MVT::i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyi),
                    MVT::i32, 2, 0, 1,
   0,
  24,
   OPC_CheckChild0Integer, 105|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyi),
                    MVT::i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyui),
                    MVT::i32, 2, 0, 1,
   0,
  24,
   OPC_CheckChild0Integer, 38|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_dpmpyss_s0),
                    MVT::i64, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_dpmpyss_s0),
                    MVT::i64, 2, 0, 1,
   0,
  24,
   OPC_CheckChild0Integer, 41|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_dpmpyuu_s0),
                    MVT::i64, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_dpmpyuu_s0),
                    MVT::i64, 2, 0, 1,
   0,
  24,
   OPC_CheckChild0Integer, 70|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_and),
                    MVT::i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_and),
                    MVT::i32, 2, 0, 1,
   0,
  24,
   OPC_CheckChild0Integer, 94|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_or),
                    MVT::i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_or),
                    MVT::i32, 2, 0, 1,
   0,
  24,
   OPC_CheckChild0Integer, 73|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_xor),
                    MVT::i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_xor),
                    MVT::i32, 2, 0, 1,
   0,
  21,
   OPC_CheckChild0Integer, 1|128,34,
   OPC_RecordChild1,
   OPC_Scope, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_sxtb),
                    MVT::i32, 1, 0,
   7,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_sxtb),
                    MVT::i32, 1, 0,
   0,
  21,
   OPC_CheckChild0Integer, 2|128,34,
   OPC_RecordChild1,
   OPC_Scope, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_sxth),
                    MVT::i32, 1, 0,
   7,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_sxth),
                    MVT::i32, 1, 0,
   0,
  21,
   OPC_CheckChild0Integer, 75|128,34,
   OPC_RecordChild1,
   OPC_Scope, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_zxtb),
                    MVT::i32, 1, 0,
   7,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_zxtb),
                    MVT::i32, 1, 0,
   0,
  21,
   OPC_CheckChild0Integer, 76|128,34,
   OPC_RecordChild1,
   OPC_Scope, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_zxth),
                    MVT::i32, 1, 0,
   7,
    OPC_CheckPatternPredicate0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_zxth),
                    MVT::i32, 1, 0,
   0,
  13,
   OPC_CheckChild0Integer, 92|128,33,
   OPC_RecordChild1,
   OPC_EmitIntegerI32, 127,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_subri),
                   MVT::i32, 2, 1, 0,
  13,
   OPC_CheckChild0Integer, 89|128,33,
   OPC_RecordChild1,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_subri),
                   MVT::i32, 2, 1, 0,
  11,
   OPC_CheckChild0Integer, 49|128,33,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_abs),
                   MVT::i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 50|128,33,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_absp),
                   MVT::i64, 1, 0,
  12,
   OPC_CheckChild0Integer, 51|128,33,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_abssat),
                   MVT::i32, MVT::i1, 1, 0,
  13,
   OPC_CheckChild0Integer, 53|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_addh_h16_hh),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 54|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_addh_h16_hl),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 55|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_addh_h16_lh),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 56|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_addh_h16_ll),
                   MVT::i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 57|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_addh_h16_sat_hh),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 58|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_addh_h16_sat_hl),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 59|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_addh_h16_sat_lh),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 60|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_addh_h16_sat_ll),
                   MVT::i32, MVT::i1, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 61|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_addh_l16_hl),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 62|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_addh_l16_ll),
                   MVT::i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 63|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_addh_l16_sat_hl),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 64|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_addh_l16_sat_ll),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 67|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_addpsat),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 68|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_addsat),
                   MVT::i32, MVT::i1, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 69|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_addsp),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 72|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_andp),
                   MVT::i64, 2, 0, 1,
  11,
   OPC_CheckChild0Integer, 73|128,33,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_aslh),
                   MVT::i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 74|128,33,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_asrh),
                   MVT::i32, 1, 0,
  13,
   OPC_CheckChild0Integer, 75|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_combine_hh),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 76|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_combine_hl),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 77|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_combine_lh),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 78|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_combine_ll),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 80|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_combinew),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 81|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_max),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 82|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_maxp),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 83|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_maxu),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 84|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_maxup),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 85|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_min),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 86|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_minp),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 87|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_minu),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 88|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_minup),
                   MVT::i64, 2, 0, 1,
  11,
   OPC_CheckChild0Integer, 90|128,33,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_negp),
                   MVT::i64, 1, 0,
  12,
   OPC_CheckChild0Integer, 91|128,33,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_negsat),
                   MVT::i32, MVT::i1, 1, 0,
  11,
   OPC_CheckChild0Integer, 93|128,33,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_notp),
                   MVT::i64, 1, 0,
  13,
   OPC_CheckChild0Integer, 96|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_orp),
                   MVT::i64, 2, 0, 1,
  12,
   OPC_CheckChild0Integer, 97|128,33,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_roundsat),
                   MVT::i32, MVT::i1, 1, 0,
  12,
   OPC_CheckChild0Integer, 98|128,33,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_sat),
                   MVT::i32, MVT::i1, 1, 0,
  12,
   OPC_CheckChild0Integer, 99|128,33,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_satb),
                   MVT::i32, MVT::i1, 1, 0,
  12,
   OPC_CheckChild0Integer, 100|128,33,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_sath),
                   MVT::i32, MVT::i1, 1, 0,
  12,
   OPC_CheckChild0Integer, 101|128,33,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_satub),
                   MVT::i32, MVT::i1, 1, 0,
  12,
   OPC_CheckChild0Integer, 102|128,33,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_satuh),
                   MVT::i32, MVT::i1, 1, 0,
  13,
   OPC_CheckChild0Integer, 104|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_subh_h16_hh),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 105|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_subh_h16_hl),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 106|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_subh_h16_lh),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 107|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_subh_h16_ll),
                   MVT::i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 108|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_subh_h16_sat_hh),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 109|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_subh_h16_sat_hl),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 110|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_subh_h16_sat_lh),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 111|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_subh_h16_sat_ll),
                   MVT::i32, MVT::i1, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 112|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_subh_l16_hl),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 113|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_subh_l16_ll),
                   MVT::i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 114|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_subh_l16_sat_hl),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 115|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_subh_l16_sat_ll),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 118|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_subsat),
                   MVT::i32, MVT::i1, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 119|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_svaddh),
                   MVT::i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 120|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_svaddhs),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 121|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_svadduhs),
                   MVT::i32, MVT::i1, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 122|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_svavgh),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 123|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_svavghs),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 124|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_svnavgh),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 125|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_svsubh),
                   MVT::i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 126|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_svsubhs),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 127|128,33,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_svsubuhs),
                   MVT::i32, MVT::i1, 2, 0, 1,
  11,
   OPC_CheckChild0Integer, 0|128,34,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_swiz),
                   MVT::i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 3|128,34,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_sxtw),
                   MVT::i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 4|128,34,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_tfr),
                   MVT::i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 7|128,34,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_tfrp),
                   MVT::i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 10|128,34,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vabsh),
                   MVT::i64, 1, 0,
  12,
   OPC_CheckChild0Integer, 11|128,34,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_vabshsat),
                   MVT::i64, MVT::i1, 1, 0,
  11,
   OPC_CheckChild0Integer, 12|128,34,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vabsw),
                   MVT::i64, 1, 0,
  12,
   OPC_CheckChild0Integer, 13|128,34,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_vabswsat),
                   MVT::i64, MVT::i1, 1, 0,
  13,
   OPC_CheckChild0Integer, 14|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vaddub),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 15|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vaddh),
                   MVT::i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 16|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_vaddhs),
                   MVT::i64, MVT::i1, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 17|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vaddub),
                   MVT::i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 18|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_vaddubs),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 19|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_vadduhs),
                   MVT::i64, MVT::i1, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 20|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vaddw),
                   MVT::i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 21|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_vaddws),
                   MVT::i64, MVT::i1, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 22|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vavgh),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 23|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vavghcr),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 24|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vavghr),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 25|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vavgub),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 26|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vavgubr),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 27|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vavguh),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 28|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vavguhr),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 29|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vavguw),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 30|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vavguwr),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 31|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vavgw),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 32|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vavgwcr),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 33|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vavgwr),
                   MVT::i64, 2, 0, 1,
  12,
   OPC_CheckChild0Integer, 42|128,34,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_vconj),
                   MVT::i64, MVT::i1, 1, 0,
  13,
   OPC_CheckChild0Integer, 43|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vmaxb),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 44|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vmaxh),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 45|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vmaxub),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 46|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vmaxuh),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 47|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vmaxuw),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 48|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vmaxw),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 49|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vminb),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 50|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vminh),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 51|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vminub),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 52|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vminuh),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 53|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vminuw),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 54|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vminw),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 55|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vnavgh),
                   MVT::i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 56|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_vnavghcr),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 57|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_vnavghr),
                   MVT::i64, MVT::i1, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 58|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vnavgw),
                   MVT::i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 59|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_vnavgwcr),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 60|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_vnavgwr),
                   MVT::i64, MVT::i1, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 61|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vraddub),
                   MVT::i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 62|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vraddub_acc),
                   MVT::i64, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 63|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vrsadub),
                   MVT::i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 64|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vrsadub_acc),
                   MVT::i64, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 65|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vsubub),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 66|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vsubh),
                   MVT::i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 67|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_vsubhs),
                   MVT::i64, MVT::i1, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 68|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vsubub),
                   MVT::i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 69|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_vsububs),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 70|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_vsubuhs),
                   MVT::i64, MVT::i1, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 71|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vsubw),
                   MVT::i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 72|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_vsubws),
                   MVT::i64, MVT::i1, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 74|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_xorp),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 77|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_andn),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 78|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_andnp),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 79|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_bitsplit),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 97|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_cround_rr),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 98|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_modwrapu),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 99|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_orn),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 100|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_ornp),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 101|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_rcmpeq),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 103|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_rcmpneq),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 107|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_round_rr),
                   MVT::i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 108|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A4_round_rr_sat),
                   MVT::i32, MVT::i1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 121|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_vrmaxh),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 122|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_vrmaxuh),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 123|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_vrmaxuw),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 124|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_vrmaxw),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 125|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_vrminh),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 126|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_vrminuh),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 127|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_vrminuw),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 0|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_vrminw),
                   MVT::i64, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 1|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A5_vaddhubs),
                   MVT::i32, MVT::i1, 2, 0, 1,
  11,
   OPC_CheckChild0Integer, 62|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_df2d),
                   MVT::i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 63|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_df2d_chop),
                   MVT::i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 65|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_df2ud),
                   MVT::i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 66|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_df2ud_chop),
                   MVT::i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 67|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_df2uw),
                   MVT::i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 68|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_df2uw_chop),
                   MVT::i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 69|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_df2w),
                   MVT::i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 70|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_df2w_chop),
                   MVT::i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 71|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_sf2d),
                   MVT::i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 72|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_sf2d_chop),
                   MVT::i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 74|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_sf2ud),
                   MVT::i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 75|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_sf2ud_chop),
                   MVT::i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 76|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_sf2uw),
                   MVT::i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 77|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_sf2uw_chop),
                   MVT::i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 78|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_sf2w),
                   MVT::i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 79|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_sf2w_chop),
                   MVT::i32, 1, 0,
  15,
   OPC_CheckChild0Integer, 13|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_acci),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 15|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_cmaci_s0),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 16|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_cmacr_s0),
                   MVT::i64, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 17|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_cmacs_s0),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 18|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_cmacs_s1),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 19|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_cmacsc_s0),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 20|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_cmacsc_s1),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 21|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_cmpyi_s0),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 22|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_cmpyr_s0),
                   MVT::i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 23|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_cmpyrs_s0),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 24|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_cmpyrs_s1),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 25|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_cmpyrsc_s0),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 26|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_cmpyrsc_s1),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 27|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_cmpys_s0),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 28|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_cmpys_s1),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 29|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_cmpysc_s0),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 30|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_cmpysc_s1),
                   MVT::i64, MVT::i1, 2, 0, 1,
  16,
   OPC_CheckChild0Integer, 31|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_cnacs_s0),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 32|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_cnacs_s1),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 33|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_cnacsc_s0),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 34|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_cnacsc_s1),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 35|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_dpmpyss_acc_s0),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 36|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_dpmpyss_nac_s0),
                   MVT::i64, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 37|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_dpmpyss_rnd_s0),
                   MVT::i32, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 39|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_dpmpyuu_acc_s0),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 40|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_dpmpyuu_nac_s0),
                   MVT::i64, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 42|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_hmmpyh_rs1),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 43|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_hmmpyh_s1),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 44|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_hmmpyl_rs1),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 45|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_hmmpyl_s1),
                   MVT::i32, MVT::i1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 46|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_maci),
                   MVT::i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 49|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmachs_rs0),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 50|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmachs_rs1),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 51|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmachs_s0),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 52|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmachs_s1),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 53|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmacls_rs0),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 54|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmacls_rs1),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 55|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmacls_s0),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 56|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmacls_s1),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 57|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmacuhs_rs0),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 58|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmacuhs_rs1),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 59|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmacuhs_s0),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 60|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmacuhs_s1),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 61|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmaculs_rs0),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 62|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmaculs_rs1),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 63|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmaculs_s0),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 64|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmaculs_s1),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 65|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmpyh_rs0),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 66|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmpyh_rs1),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 67|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmpyh_s0),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 68|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmpyh_s1),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 69|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmpyl_rs0),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 70|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmpyl_rs1),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 71|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmpyl_s0),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 72|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmpyl_s1),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 73|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmpyuh_rs0),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 74|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmpyuh_rs1),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 75|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmpyuh_s0),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 76|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmpyuh_s1),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 77|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmpyul_rs0),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 78|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmpyul_rs1),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 79|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmpyul_s0),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 80|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mmpyul_s1),
                   MVT::i64, MVT::i1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 82|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_acc_hh_s0),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 83|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_acc_hh_s1),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 84|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_acc_hl_s0),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 85|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_acc_hl_s1),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 86|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_acc_lh_s0),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 87|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_acc_lh_s1),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 88|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_acc_ll_s0),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 89|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_acc_ll_s1),
                   MVT::i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 90|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_acc_sat_hh_s0),
                   MVT::i32, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 91|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_acc_sat_hh_s1),
                   MVT::i32, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 92|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_acc_sat_hl_s0),
                   MVT::i32, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 93|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_acc_sat_hl_s1),
                   MVT::i32, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 94|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_acc_sat_lh_s0),
                   MVT::i32, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 95|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_acc_sat_lh_s1),
                   MVT::i32, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 96|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_acc_sat_ll_s0),
                   MVT::i32, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 97|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_acc_sat_ll_s1),
                   MVT::i32, MVT::i1, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 98|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_hh_s0),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 99|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_hh_s1),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 100|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_hl_s0),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 101|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_hl_s1),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 102|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_lh_s0),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 103|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_lh_s1),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 104|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_ll_s0),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 105|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_ll_s1),
                   MVT::i32, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 106|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_nac_hh_s0),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 107|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_nac_hh_s1),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 108|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_nac_hl_s0),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 109|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_nac_hl_s1),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 110|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_nac_lh_s0),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 111|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_nac_lh_s1),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 112|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_nac_ll_s0),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 113|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_nac_ll_s1),
                   MVT::i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 114|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_nac_sat_hh_s0),
                   MVT::i32, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 115|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_nac_sat_hh_s1),
                   MVT::i32, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 116|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_nac_sat_hl_s0),
                   MVT::i32, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 117|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_nac_sat_hl_s1),
                   MVT::i32, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 118|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_nac_sat_lh_s0),
                   MVT::i32, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 119|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_nac_sat_lh_s1),
                   MVT::i32, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 120|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_nac_sat_ll_s0),
                   MVT::i32, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 121|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_nac_sat_ll_s1),
                   MVT::i32, MVT::i1, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 122|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_rnd_hh_s0),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 123|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_rnd_hh_s1),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 124|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_rnd_hl_s0),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 125|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_rnd_hl_s1),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 126|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_rnd_lh_s0),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 127|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_rnd_lh_s1),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 0|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_rnd_ll_s0),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 1|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_rnd_ll_s1),
                   MVT::i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 2|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_sat_hh_s0),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 3|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_sat_hh_s1),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 4|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_sat_hl_s0),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 5|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_sat_hl_s1),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 6|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_sat_lh_s0),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 7|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_sat_lh_s1),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 8|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_sat_ll_s0),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 9|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_sat_ll_s1),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 10|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_sat_rnd_hh_s0),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 11|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_sat_rnd_hh_s1),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 12|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_sat_rnd_hl_s0),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 13|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_sat_rnd_hl_s1),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 14|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_sat_rnd_lh_s0),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 15|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_sat_rnd_lh_s1),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 16|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_sat_rnd_ll_s0),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 17|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_sat_rnd_ll_s1),
                   MVT::i32, MVT::i1, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 18|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_up),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 19|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_up_s1),
                   MVT::i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 20|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_mpy_up_s1_sat),
                   MVT::i32, MVT::i1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 21|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_acc_hh_s0),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 22|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_acc_hh_s1),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 23|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_acc_hl_s0),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 24|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_acc_hl_s1),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 25|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_acc_lh_s0),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 26|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_acc_lh_s1),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 27|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_acc_ll_s0),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 28|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_acc_ll_s1),
                   MVT::i64, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 29|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_hh_s0),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 30|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_hh_s1),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 31|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_hl_s0),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 32|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_hl_s1),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 33|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_lh_s0),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 34|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_lh_s1),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 35|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_ll_s0),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 36|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_ll_s1),
                   MVT::i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 37|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_nac_hh_s0),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 38|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_nac_hh_s1),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 39|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_nac_hl_s0),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 40|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_nac_hl_s1),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 41|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_nac_lh_s0),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 42|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_nac_lh_s1),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 43|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_nac_ll_s0),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 44|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_nac_ll_s1),
                   MVT::i64, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 45|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_rnd_hh_s0),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 46|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_rnd_hh_s1),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 47|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_rnd_hl_s0),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 48|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_rnd_hl_s1),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 49|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_rnd_lh_s0),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 50|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_rnd_lh_s1),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 51|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_rnd_ll_s0),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 52|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyd_rnd_ll_s1),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 55|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpysu_up),
                   MVT::i32, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 56|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_acc_hh_s0),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 57|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_acc_hh_s1),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 58|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_acc_hl_s0),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 59|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_acc_hl_s1),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 60|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_acc_lh_s0),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 61|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_acc_lh_s1),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 62|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_acc_ll_s0),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 63|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_acc_ll_s1),
                   MVT::i32, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 64|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_hh_s0),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 65|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_hh_s1),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 66|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_hl_s0),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 67|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_hl_s1),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 68|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_lh_s0),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 69|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_lh_s1),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 70|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_ll_s0),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 71|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_ll_s1),
                   MVT::i32, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 72|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_nac_hh_s0),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 73|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_nac_hh_s1),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 74|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_nac_hl_s0),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 75|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_nac_hl_s1),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 76|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_nac_lh_s0),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 77|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_nac_lh_s1),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 78|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_nac_ll_s0),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 79|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_nac_ll_s1),
                   MVT::i32, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 80|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_up),
                   MVT::i32, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 81|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyud_acc_hh_s0),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 82|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyud_acc_hh_s1),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 83|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyud_acc_hl_s0),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 84|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyud_acc_hl_s1),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 85|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyud_acc_lh_s0),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 86|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyud_acc_lh_s1),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 87|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyud_acc_ll_s0),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 88|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyud_acc_ll_s1),
                   MVT::i64, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 89|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyud_hh_s0),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 90|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyud_hh_s1),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 91|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyud_hl_s0),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 92|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyud_hl_s1),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 93|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyud_lh_s0),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 94|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyud_lh_s1),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 95|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyud_ll_s0),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 96|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyud_ll_s1),
                   MVT::i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 97|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyud_nac_hh_s0),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 98|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyud_nac_hh_s1),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 99|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyud_nac_hl_s0),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 100|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyud_nac_hl_s1),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 101|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyud_nac_lh_s0),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 102|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyud_nac_lh_s1),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 103|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyud_nac_ll_s0),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 104|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyud_nac_ll_s1),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 106|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_nacci),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 108|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_subacc),
                   MVT::i32, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 109|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_vabsdiffh),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 110|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_vabsdiffw),
                   MVT::i64, 2, 0, 1,
  16,
   OPC_CheckChild0Integer, 111|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vcmac_s0_sat_i),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 112|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vcmac_s0_sat_r),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 113|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vcmpy_s0_sat_i),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 114|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vcmpy_s0_sat_r),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 115|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vcmpy_s1_sat_i),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 116|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vcmpy_s1_sat_r),
                   MVT::i64, MVT::i1, 2, 0, 1,
  16,
   OPC_CheckChild0Integer, 117|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vdmacs_s0),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 118|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vdmacs_s1),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 119|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vdmpyrs_s0),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 120|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vdmpyrs_s1),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 121|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vdmpys_s0),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 122|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vdmpys_s1),
                   MVT::i64, MVT::i1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 123|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_vmac2),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 124|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_vmac2es),
                   MVT::i64, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 125|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vmac2es_s0),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 126|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vmac2es_s1),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 127|128,37,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vmac2s_s0),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 0|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vmac2s_s1),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 1|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vmac2su_s0),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 2|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vmac2su_s1),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 3|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vmpy2es_s0),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 4|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vmpy2es_s1),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 5|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vmpy2s_s0),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 6|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vmpy2s_s0pack),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 7|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vmpy2s_s1),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 8|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vmpy2s_s1pack),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 9|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vmpy2su_s0),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 10|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M2_vmpy2su_s1),
                   MVT::i64, MVT::i1, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 11|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_vraddh),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 12|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_vradduh),
                   MVT::i32, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 13|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_vrcmaci_s0),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 14|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_vrcmaci_s0c),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 15|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_vrcmacr_s0),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 16|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_vrcmacr_s0c),
                   MVT::i64, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 17|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_vrcmpyi_s0),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 18|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_vrcmpyi_s0c),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 19|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_vrcmpyr_s0),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 20|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_vrcmpyr_s0c),
                   MVT::i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 21|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_vrcmpys_acc_s1),
                   MVT::i64, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 22|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_vrcmpys_s1),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 23|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_vrcmpys_s1rp),
                   MVT::i32, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 24|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_vrmac_s0),
                   MVT::i64, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 25|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_vrmpy_s0),
                   MVT::i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 26|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_xor_xacc),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 27|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_and_and),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 28|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_and_andn),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 29|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_and_or),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 30|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_and_xor),
                   MVT::i32, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 31|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M4_cmpyi_wh),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 32|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M4_cmpyi_whc),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 33|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M4_cmpyr_wh),
                   MVT::i32, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 34|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M4_cmpyr_whc),
                   MVT::i32, MVT::i1, 2, 0, 1,
  16,
   OPC_CheckChild0Integer, 35|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M4_mac_up_s1_sat),
                   MVT::i32, MVT::i1, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 40|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 38,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_mpyrr_addr),
                   MVT::i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 41|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M4_nac_up_s1_sat),
                   MVT::i32, MVT::i1, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 42|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_or_and),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 43|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_or_andn),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 44|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_or_or),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 45|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_or_xor),
                   MVT::i32, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 46|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_pmpyw),
                   MVT::i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 47|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_pmpyw_acc),
                   MVT::i64, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 48|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_vpmpyh),
                   MVT::i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 49|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_vpmpyh_acc),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 50|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_vrmpyeh_acc_s0),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 51|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_vrmpyeh_acc_s1),
                   MVT::i64, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 52|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_vrmpyeh_s0),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 53|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_vrmpyeh_s1),
                   MVT::i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 54|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_vrmpyoh_acc_s0),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 55|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_vrmpyoh_acc_s1),
                   MVT::i64, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 56|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_vrmpyoh_s0),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 57|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_vrmpyoh_s1),
                   MVT::i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 58|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_xor_and),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 59|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_xor_andn),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 60|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_xor_or),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 61|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_xor_xacc),
                   MVT::i64, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 62|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M5_vdmacbsu),
                   MVT::i64, MVT::i1, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 63|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M5_vdmpybsu),
                   MVT::i64, MVT::i1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 64|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M5_vmacbsu),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 65|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M5_vmacbuu),
                   MVT::i64, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 66|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M5_vmpybsu),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 67|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M5_vmpybuu),
                   MVT::i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 68|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M5_vrmacbsu),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 69|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M5_vrmacbuu),
                   MVT::i64, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 70|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M5_vrmpybsu),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 71|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M5_vrmpybuu),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 108|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_p),
                   MVT::i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 109|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_p_acc),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 110|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_p_and),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 111|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_p_nac),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 112|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_p_or),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 113|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_p_xor),
                   MVT::i64, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 114|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_r),
                   MVT::i32, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 115|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_r_acc),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 116|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_r_and),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 117|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_r_nac),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 118|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_r_or),
                   MVT::i32, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 119|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S2_asl_r_r_sat),
                   MVT::i32, MVT::i1, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 120|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_vh),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 121|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_vw),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 11|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_p),
                   MVT::i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 12|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_p_acc),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 13|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_p_and),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 14|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_p_nac),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 15|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_p_or),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 16|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_p_xor),
                   MVT::i64, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 17|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_r),
                   MVT::i32, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 18|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_r_acc),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 19|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_r_and),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 20|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_r_nac),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 21|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_r_or),
                   MVT::i32, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 22|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S2_asr_r_r_sat),
                   MVT::i32, MVT::i1, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 23|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_svw_trun),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 24|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_vh),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 25|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_vw),
                   MVT::i64, 2, 0, 1,
  11,
   OPC_CheckChild0Integer, 26|128,39,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_brev),
                   MVT::i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 27|128,39,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_brevp),
                   MVT::i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 28|128,39,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_cl0),
                   MVT::i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 29|128,39,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_cl0p),
                   MVT::i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 30|128,39,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_cl1),
                   MVT::i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 31|128,39,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_cl1p),
                   MVT::i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 32|128,39,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_clb),
                   MVT::i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 33|128,39,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_clbnorm),
                   MVT::i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 34|128,39,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_clbp),
                   MVT::i32, 1, 0,
  13,
   OPC_CheckChild0Integer, 36|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_clrbit_r),
                   MVT::i32, 2, 0, 1,
  11,
   OPC_CheckChild0Integer, 37|128,39,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_ct0),
                   MVT::i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 38|128,39,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_ct0p),
                   MVT::i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 39|128,39,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_ct1),
                   MVT::i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 40|128,39,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_ct1p),
                   MVT::i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 41|128,39,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_deinterleave),
                   MVT::i64, 1, 0,
  13,
   OPC_CheckChild0Integer, 43|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_extractu_rp),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 45|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_extractup_rp),
                   MVT::i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 47|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_insert_rp),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 49|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_insertp_rp),
                   MVT::i64, 3, 0, 1, 2,
  11,
   OPC_CheckChild0Integer, 50|128,39,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_interleave),
                   MVT::i64, 1, 0,
  13,
   OPC_CheckChild0Integer, 51|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lfsp),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 52|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsl_r_p),
                   MVT::i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 53|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsl_r_p_acc),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 54|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsl_r_p_and),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 55|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsl_r_p_nac),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 56|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsl_r_p_or),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 57|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsl_r_p_xor),
                   MVT::i64, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 58|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsl_r_r),
                   MVT::i32, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 59|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsl_r_r_acc),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 60|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsl_r_r_and),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 61|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsl_r_r_nac),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 62|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsl_r_r_or),
                   MVT::i32, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 63|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsl_r_vh),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 64|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsl_r_vw),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 79|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_p),
                   MVT::i64, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 80|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_p_acc),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 81|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_p_and),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 82|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_p_nac),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 83|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_p_or),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 84|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_p_xor),
                   MVT::i64, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 85|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_r),
                   MVT::i32, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 86|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_r_acc),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 87|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_r_and),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 88|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_r_nac),
                   MVT::i32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 89|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_r_or),
                   MVT::i32, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 90|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_vh),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 91|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_vw),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 93|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_packhl),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 94|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_parityp),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 96|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_setbit_r),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 97|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_shuffeb),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 98|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_shuffeh),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 99|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_shuffob),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 100|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_shuffoh),
                   MVT::i64, 2, 0, 1,
  12,
   OPC_CheckChild0Integer, 117|128,39,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S2_svsathb),
                   MVT::i32, MVT::i1, 1, 0,
  12,
   OPC_CheckChild0Integer, 118|128,39,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S2_svsathub),
                   MVT::i32, MVT::i1, 1, 0,
  13,
   OPC_CheckChild0Integer, 124|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_togglebit_r),
                   MVT::i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 1|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S2_vcnegh),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 2|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S2_vcrotate),
                   MVT::i64, MVT::i1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 3|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vrcnegh),
                   MVT::i64, 3, 0, 1, 2,
  11,
   OPC_CheckChild0Integer, 4|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vrndpackwh),
                   MVT::i32, 1, 0,
  12,
   OPC_CheckChild0Integer, 5|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S2_vrndpackwhs),
                   MVT::i32, MVT::i1, 1, 0,
  12,
   OPC_CheckChild0Integer, 6|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S2_vsathb),
                   MVT::i32, MVT::i1, 1, 0,
  12,
   OPC_CheckChild0Integer, 7|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S2_vsathb_nopack),
                   MVT::i64, MVT::i1, 1, 0,
  12,
   OPC_CheckChild0Integer, 8|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S2_vsathub),
                   MVT::i32, MVT::i1, 1, 0,
  12,
   OPC_CheckChild0Integer, 9|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S2_vsathub_nopack),
                   MVT::i64, MVT::i1, 1, 0,
  12,
   OPC_CheckChild0Integer, 10|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S2_vsatwh),
                   MVT::i32, MVT::i1, 1, 0,
  12,
   OPC_CheckChild0Integer, 11|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S2_vsatwh_nopack),
                   MVT::i64, MVT::i1, 1, 0,
  12,
   OPC_CheckChild0Integer, 12|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S2_vsatwuh),
                   MVT::i32, MVT::i1, 1, 0,
  12,
   OPC_CheckChild0Integer, 13|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S2_vsatwuh_nopack),
                   MVT::i64, MVT::i1, 1, 0,
  11,
   OPC_CheckChild0Integer, 14|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vsplatrb),
                   MVT::i32, 1, 0,
  11,
   OPC_CheckChild0Integer, 15|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vsplatrh),
                   MVT::i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 18|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vsxtbh),
                   MVT::i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 19|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vsxthw),
                   MVT::i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 20|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vtrunehb),
                   MVT::i32, 1, 0,
  13,
   OPC_CheckChild0Integer, 21|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vtrunewh),
                   MVT::i64, 2, 0, 1,
  11,
   OPC_CheckChild0Integer, 22|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vtrunohb),
                   MVT::i32, 1, 0,
  13,
   OPC_CheckChild0Integer, 23|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vtrunowh),
                   MVT::i64, 2, 0, 1,
  11,
   OPC_CheckChild0Integer, 24|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vzxtbh),
                   MVT::i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 25|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vzxthw),
                   MVT::i64, 1, 0,
  11,
   OPC_CheckChild0Integer, 33|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_clbpnorm),
                   MVT::i32, 1, 0,
  13,
   OPC_CheckChild0Integer, 35|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_extract_rp),
                   MVT::i32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 37|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_extractp_rp),
                   MVT::i64, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 46|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_parity),
                   MVT::i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 53|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S4_vxaddsubh),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 54|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S4_vxaddsubhr),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 55|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S4_vxaddsubw),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 56|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S4_vxsubaddh),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 57|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S4_vxsubaddhr),
                   MVT::i64, MVT::i1, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 58|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S4_vxsubaddw),
                   MVT::i64, MVT::i1, 2, 0, 1,
  11,
   OPC_CheckChild0Integer, 61|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S5_popcountp),
                   MVT::i32, 1, 0,
  14,
   OPC_CheckChild0Integer, 72|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 64,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M6_vabsdiffb),
                   MVT::i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 73|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 64,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M6_vabsdiffub),
                   MVT::i64, 2, 0, 1,
  12,
   OPC_CheckChild0Integer, 75|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 64,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_vsplatrbp),
                   MVT::i64, 1, 0,
  14,
   OPC_CheckChild0Integer, 76|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 64,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_vtrunehb_ppp),
                   MVT::i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 77|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 64,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_vtrunohb_ppp),
                   MVT::i64, 2, 0, 1,
  16,
   OPC_CheckChild0Integer, 81|128,36,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 56,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mnaci),
                   MVT::i32, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 5|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A7_croundd_rr),
                   MVT::i64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 74|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M7_dcmpyiw),
                   MVT::i64, 2, 0, 1,
  16,
   OPC_CheckChild0Integer, 75|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M7_dcmpyiw_acc),
                   MVT::i64, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 76|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M7_dcmpyiwc),
                   MVT::i64, 2, 0, 1,
  16,
   OPC_CheckChild0Integer, 77|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M7_dcmpyiwc_acc),
                   MVT::i64, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 78|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M7_dcmpyrw),
                   MVT::i64, 2, 0, 1,
  16,
   OPC_CheckChild0Integer, 79|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M7_dcmpyrw_acc),
                   MVT::i64, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 80|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M7_dcmpyrwc),
                   MVT::i64, 2, 0, 1,
  16,
   OPC_CheckChild0Integer, 81|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M7_dcmpyrwc_acc),
                   MVT::i64, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 82|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M7_dcmpyrwc),
                   MVT::i64, 2, 0, 1,
  16,
   OPC_CheckChild0Integer, 83|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M7_dcmpyrwc_acc),
                   MVT::i64, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 84|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M7_wcmpyiw),
                   MVT::i32, MVT::i1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 85|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M7_wcmpyiw_rnd),
                   MVT::i32, MVT::i1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 86|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M7_wcmpyiwc),
                   MVT::i32, MVT::i1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 87|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M7_wcmpyiwc_rnd),
                   MVT::i32, MVT::i1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 88|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M7_wcmpyrw),
                   MVT::i32, MVT::i1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 89|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M7_wcmpyrw_rnd),
                   MVT::i32, MVT::i1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 90|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M7_wcmpyrwc),
                   MVT::i32, MVT::i1, 2, 0, 1,
  15,
   OPC_CheckChild0Integer, 91|128,38,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::M7_wcmpyrwc_rnd),
                   MVT::i32, MVT::i1, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 78|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_extractw),
                    MVT::i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_extractw),
                    MVT::i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 79|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_extractw),
                   MVT::i32, 2, 0, 1,
  18,
   OPC_CheckChild0Integer, 25|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpgt),
                   MVT::i1, 2, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  18,
   OPC_CheckChild0Integer, 26|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpgtu),
                   MVT::i1, 2, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 34|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vcmpbeq),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 35|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vcmpbgtu),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 36|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vcmpheq),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 37|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vcmphgt),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 38|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vcmphgtu),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 39|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vcmpweq),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 40|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vcmpwgt),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 41|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vcmpwgtu),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 81|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_boundscheck),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 82|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_cmpbeq),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 84|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_cmpbgt),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 86|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_cmpbgtu),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 88|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_cmpheq),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 90|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_cmphgt),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 92|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_cmphgtu),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 109|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_tlbmatch),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 110|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_vcmpbeq_any),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 112|128,34,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_vcmpbgt),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 11|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_bitsclr),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 13|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_bitsset),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 14|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpeq),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 16|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpeqp),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 19|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpgt),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 21|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpgtp),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 22|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpgtu),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 24|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpgtup),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  17,
   OPC_CheckChild0Integer, 27|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_mask),
                   MVT::i64, 1, 1,
  21,
   OPC_CheckChild0Integer, 28|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_mux),
                   MVT::i32, 3, 3, 1, 2,
  17,
   OPC_CheckChild0Integer, 36|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 1,
  17,
   OPC_CheckChild0Integer, 37|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 1,
  21,
   OPC_CheckChild0Integer, 39|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_vmux),
                   MVT::i64, 3, 3, 1, 2,
  19,
   OPC_CheckChild0Integer, 45|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_cmplte),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 47|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_cmplteu),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 49|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_cmpneq),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 53|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_nbitsclr),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 55|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_nbitsset),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 88|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpeq),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 89|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpge),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 90|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpgt),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 91|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpuo),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 103|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpeq),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 104|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpge),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 105|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpgt),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 106|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpuo),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  19,
   OPC_CheckChild0Integer, 126|128,39,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_tstbit_r),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  21,
   OPC_CheckChild0Integer, 0|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_valignrb),
                   MVT::i64, 3, 0, 1, 3,
  21,
   OPC_CheckChild0Integer, 17|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vsplicerb),
                   MVT::i64, 3, 0, 1, 3,
  19,
   OPC_CheckChild0Integer, 40|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S4_ntstbit_r),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  20,
   OPC_CheckChild0Integer, 2|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 106,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A6_vcmpbeq_notany),
                   MVT::i1, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  23,
   OPC_CheckChild0Integer, 7|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_all8),
                   MVT::i1, 1, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  23,
   OPC_CheckChild0Integer, 10|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_any8),
                   MVT::i1, 1, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  23,
   OPC_CheckChild0Integer, 32|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_not),
                   MVT::i1, 1, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  23,
   OPC_CheckChild0Integer, 35|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_pxfer_map),
                   MVT::i1, 1, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 2,
  25,
   OPC_CheckChild0Integer, 38|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_vitpack),
                   MVT::i32, 2, 2, 3,
  31,
   OPC_CheckChild0Integer, 8|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 1,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_and),
                   MVT::i1, 2, 2, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 4,
  31,
   OPC_CheckChild0Integer, 9|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 1,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_andn),
                   MVT::i1, 2, 2, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 4,
  31,
   OPC_CheckChild0Integer, 33|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 1,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_or),
                   MVT::i1, 2, 2, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 4,
  31,
   OPC_CheckChild0Integer, 34|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 1,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_orn),
                   MVT::i1, 2, 2, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 4,
  31,
   OPC_CheckChild0Integer, 40|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 1,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_xor),
                   MVT::i1, 2, 2, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 4,
  31,
   OPC_CheckChild0Integer, 51|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 1,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_fastcorner9),
                   MVT::i1, 2, 2, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 4,
  31,
   OPC_CheckChild0Integer, 52|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 1,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_fastcorner9_not),
                   MVT::i1, 2, 2, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 4,
  39,
   OPC_CheckChild0Integer, 41|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 1,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 2,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_and_and),
                   MVT::i1, 3, 3, 4, 5,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 6,
  39,
   OPC_CheckChild0Integer, 42|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 1,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 2,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_and_andn),
                   MVT::i1, 3, 3, 4, 5,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 6,
  39,
   OPC_CheckChild0Integer, 43|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 1,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 2,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_and_or),
                   MVT::i1, 3, 3, 4, 5,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 6,
  39,
   OPC_CheckChild0Integer, 44|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 1,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 2,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_and_orn),
                   MVT::i1, 3, 3, 4, 5,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 6,
  39,
   OPC_CheckChild0Integer, 56|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 1,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 2,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_or_and),
                   MVT::i1, 3, 3, 4, 5,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 6,
  39,
   OPC_CheckChild0Integer, 57|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 1,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 2,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_or_andn),
                   MVT::i1, 3, 3, 4, 5,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 6,
  39,
   OPC_CheckChild0Integer, 58|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 1,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 2,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_or_or),
                   MVT::i1, 3, 3, 4, 5,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 6,
  39,
   OPC_CheckChild0Integer, 59|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 1,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 2,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_or_orn),
                   MVT::i1, 3, 3, 4, 5,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 6,
  18,
   OPC_CheckChild0Integer, 92|128,35,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 60,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfimm_n),
                   MVT::f64, 1, 0,
  18,
   OPC_CheckChild0Integer, 93|128,35,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 60,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfimm_p),
                   MVT::f64, 1, 0,
  18,
   OPC_CheckChild0Integer, 115|128,35,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 60,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfimm_n),
                   MVT::f32, 1, 0,
  18,
   OPC_CheckChild0Integer, 116|128,35,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 60,
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfimm_p),
                   MVT::f32, 1, 0,
  11,
   OPC_CheckChild0Integer, 60|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_d2df),
                   MVT::f64, 1, 0,
  11,
   OPC_CheckChild0Integer, 61|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_d2sf),
                   MVT::f32, 1, 0,
  11,
   OPC_CheckChild0Integer, 64|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_df2sf),
                   MVT::f32, 1, 0,
  11,
   OPC_CheckChild0Integer, 73|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_sf2df),
                   MVT::f64, 1, 0,
  11,
   OPC_CheckChild0Integer, 80|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_ud2df),
                   MVT::f64, 1, 0,
  11,
   OPC_CheckChild0Integer, 81|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_ud2sf),
                   MVT::f32, 1, 0,
  11,
   OPC_CheckChild0Integer, 82|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_uw2df),
                   MVT::f64, 1, 0,
  11,
   OPC_CheckChild0Integer, 83|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_uw2sf),
                   MVT::f32, 1, 0,
  11,
   OPC_CheckChild0Integer, 84|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_w2df),
                   MVT::f64, 1, 0,
  11,
   OPC_CheckChild0Integer, 85|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_w2sf),
                   MVT::f32, 1, 0,
  13,
   OPC_CheckChild0Integer, 101|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfadd),
                   MVT::f32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 107|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sffixupd),
                   MVT::f32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 108|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sffixupn),
                   MVT::f32, 2, 0, 1,
  11,
   OPC_CheckChild0Integer, 109|128,35,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sffixupr),
                   MVT::f32, 1, 0,
  15,
   OPC_CheckChild0Integer, 110|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sffma),
                   MVT::f32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 111|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sffma_lib),
                   MVT::f32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 113|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sffms),
                   MVT::f32, 3, 0, 1, 2,
  15,
   OPC_CheckChild0Integer, 114|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sffms_lib),
                   MVT::f32, 3, 0, 1, 2,
  13,
   OPC_CheckChild0Integer, 117|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfmax),
                   MVT::f32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 118|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfmin),
                   MVT::f32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 119|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfmpy),
                   MVT::f32, 2, 0, 1,
  13,
   OPC_CheckChild0Integer, 120|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfsub),
                   MVT::f32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 86|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 56,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfadd),
                   MVT::f64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 100|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 56,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfsub),
                   MVT::f64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 94|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfmax),
                   MVT::f64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 95|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfmin),
                   MVT::f64, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 96|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfmpyfix),
                   MVT::f64, 2, 0, 1,
  16,
   OPC_CheckChild0Integer, 97|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfmpyhh),
                   MVT::f64, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 98|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfmpylh),
                   MVT::f64, 3, 0, 1, 2,
  14,
   OPC_CheckChild0Integer, 99|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfmpyll),
                   MVT::f64, 2, 0, 1,
  23,
   OPC_CheckChild0Integer, 112|128,35,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::i1, 1, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sffma_sc),
                   MVT::f32, 4, 0, 1, 2, 4,
  44,
   OPC_CheckChild0Integer, 86|128,40,
   OPC_RecordChild1,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i32, 2, 0, 1,
   10,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i32, 2, 0, 1,
   7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_lo),
                    MVT::v16i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_lo),
                    MVT::v16i32, 1, 0,
   0,
  44,
   OPC_CheckChild0Integer, 84|128,40,
   OPC_RecordChild1,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i32, 2, 0, 1,
   10,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i32, 2, 0, 1,
   7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_hi),
                    MVT::v16i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_hi),
                    MVT::v16i32, 1, 0,
   0,
  25,
   OPC_CheckChild0Integer, 87|128,40,
   OPC_RecordChild1,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v32i32, 2, 0, 1,
   7,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_lo),
                    MVT::v32i32, 1, 0,
   0,
  25,
   OPC_CheckChild0Integer, 85|128,40,
   OPC_RecordChild1,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v32i32, 2, 0, 1,
   7,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_hi),
                    MVT::v32i32, 1, 0,
   0,
  94,
   OPC_CheckChild0Integer, 30|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 68,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 27,
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate2,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_valignbi),
                      MVT::v16i32, 3, 0, 0, 2,
     10,
      OPC_CheckPatternPredicate3,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_valignbi),
                      MVT::v16i32, 3, 0, 0, 2,
     0,
    33,
     OPC_CheckPredicate, 52,
     OPC_MoveParent,
     OPC_Scope, 13,
      OPC_CheckPatternPredicate2,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 22, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlalignbi),
                      MVT::v16i32, 3, 0, 0, 3,
     13,
      OPC_CheckPatternPredicate3,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 22, 2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlalignbi),
                      MVT::v16i32, 3, 0, 0, 3,
     0,
    0,
   8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vror),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vror),
                    MVT::v16i32, 2, 0, 1,
   0,
  54,
   OPC_CheckChild0Integer, 31|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 37,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 13,
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_valignbi),
                     MVT::v32i32, 3, 0, 0, 2,
    16,
     OPC_CheckPredicate, 53,
     OPC_MoveParent,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 23, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlalignbi),
                     MVT::v32i32, 3, 0, 0, 3,
    0,
   8,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vror),
                    MVT::v32i32, 2, 0, 1,
   0,
  97,
   OPC_CheckChild0Integer, 68|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 68,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 27,
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate2,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_valignbi),
                      MVT::v16i32, 3, 0, 1, 3,
     10,
      OPC_CheckPatternPredicate3,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_valignbi),
                      MVT::v16i32, 3, 0, 1, 3,
     0,
    33,
     OPC_CheckPredicate, 52,
     OPC_MoveParent,
     OPC_Scope, 13,
      OPC_CheckPatternPredicate2,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 22, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlalignbi),
                      MVT::v16i32, 3, 0, 1, 4,
     13,
      OPC_CheckPatternPredicate3,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 22, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlalignbi),
                      MVT::v16i32, 3, 0, 1, 4,
     0,
    0,
   9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_valignb),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_valignb),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  56,
   OPC_CheckChild0Integer, 69|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 37,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 13,
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_valignbi),
                     MVT::v32i32, 3, 0, 1, 3,
    16,
     OPC_CheckPredicate, 53,
     OPC_MoveParent,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 23, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlalignbi),
                     MVT::v32i32, 3, 0, 1, 4,
    0,
   9,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_valignb),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  96,
   OPC_CheckChild0Integer, 70|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 67,
    OPC_MoveChild3,
    OPC_SwitchOpcode , 33, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 52,
     OPC_MoveParent,
     OPC_Scope, 13,
      OPC_CheckPatternPredicate2,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 22, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlalignbi),
                      MVT::v16i32, 3, 0, 1, 4,
     13,
      OPC_CheckPatternPredicate3,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 22, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlalignbi),
                      MVT::v16i32, 3, 0, 1, 4,
     0,
    25, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_valignbi),
                      MVT::v16i32, 3, 0, 1, 2,
     9,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_valignbi),
                      MVT::v16i32, 3, 0, 1, 2,
     0,
    0,
   9,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_valignb),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_valignb),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  56,
   OPC_CheckChild0Integer, 71|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 37,
    OPC_MoveChild3,
    OPC_SwitchOpcode , 16, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 53,
     OPC_MoveParent,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 23, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlalignbi),
                     MVT::v32i32, 3, 0, 1, 4,
    12, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_valignbi),
                     MVT::v32i32, 3, 0, 1, 2,
    0,
   9,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_valignb),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  97,
   OPC_CheckChild0Integer, 78|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 68,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 27,
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate2,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlalignbi),
                      MVT::v16i32, 3, 0, 1, 3,
     10,
      OPC_CheckPatternPredicate3,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlalignbi),
                      MVT::v16i32, 3, 0, 1, 3,
     0,
    33,
     OPC_CheckPredicate, 52,
     OPC_MoveParent,
     OPC_Scope, 13,
      OPC_CheckPatternPredicate2,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 22, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_valignbi),
                      MVT::v16i32, 3, 0, 1, 4,
     13,
      OPC_CheckPatternPredicate3,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 22, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_valignbi),
                      MVT::v16i32, 3, 0, 1, 4,
     0,
    0,
   9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlalignb),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlalignb),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  56,
   OPC_CheckChild0Integer, 79|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 37,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 13,
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlalignbi),
                     MVT::v32i32, 3, 0, 1, 3,
    16,
     OPC_CheckPredicate, 53,
     OPC_MoveParent,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 23, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_valignbi),
                     MVT::v32i32, 3, 0, 1, 4,
    0,
   9,
    OPC_CheckPatternPredicate7,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlalignb),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  96,
   OPC_CheckChild0Integer, 80|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 67,
    OPC_MoveChild3,
    OPC_SwitchOpcode , 33, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 52,
     OPC_MoveParent,
     OPC_Scope, 13,
      OPC_CheckPatternPredicate2,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 22, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_valignbi),
                      MVT::v16i32, 3, 0, 1, 4,
     13,
      OPC_CheckPatternPredicate3,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 22, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_valignbi),
                      MVT::v16i32, 3, 0, 1, 4,
     0,
    25, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate5,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlalignbi),
                      MVT::v16i32, 3, 0, 1, 2,
     9,
      OPC_CheckPatternPredicate6,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlalignbi),
                      MVT::v16i32, 3, 0, 1, 2,
     0,
    0,
   9,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlalignb),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlalignb),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  56,
   OPC_CheckChild0Integer, 81|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 37,
    OPC_MoveChild3,
    OPC_SwitchOpcode , 16, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 53,
     OPC_MoveParent,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 23, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_valignbi),
                     MVT::v32i32, 3, 0, 1, 4,
    12, TARGET_VAL(ISD::TargetConstant),
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_CheckPatternPredicate7,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlalignbi),
                     MVT::v32i32, 3, 0, 1, 2,
    0,
   9,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlalignb),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  35,
   OPC_CheckChild0Integer, 2|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 45,
   OPC_MoveParent,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybusi),
                    MVT::v32i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybusi),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  22,
   OPC_CheckChild0Integer, 3|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 45,
   OPC_MoveParent,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybusi),
                   MVT::v64i32, 3, 0, 1, 2,
  38,
   OPC_CheckChild0Integer, 4|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 45,
   OPC_MoveParent,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybusi_acc),
                    MVT::v32i32, 4, 0, 1, 2, 3,
   10,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybusi_acc),
                    MVT::v32i32, 4, 0, 1, 2, 3,
   0,
  24,
   OPC_CheckChild0Integer, 5|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 45,
   OPC_MoveParent,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybusi_acc),
                   MVT::v64i32, 4, 0, 1, 2, 3,
  35,
   OPC_CheckChild0Integer, 22|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 45,
   OPC_MoveParent,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpyubi),
                    MVT::v32i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpyubi),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  22,
   OPC_CheckChild0Integer, 23|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 45,
   OPC_MoveParent,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpyubi),
                   MVT::v64i32, 3, 0, 1, 2,
  38,
   OPC_CheckChild0Integer, 24|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 45,
   OPC_MoveParent,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpyubi_acc),
                    MVT::v32i32, 4, 0, 1, 2, 3,
   10,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpyubi_acc),
                    MVT::v32i32, 4, 0, 1, 2, 3,
   0,
  24,
   OPC_CheckChild0Integer, 25|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 45,
   OPC_MoveParent,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpyubi_acc),
                   MVT::v64i32, 4, 0, 1, 2, 3,
  35,
   OPC_CheckChild0Integer, 46|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 45,
   OPC_MoveParent,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrsadubi),
                    MVT::v32i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrsadubi),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  22,
   OPC_CheckChild0Integer, 47|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 45,
   OPC_MoveParent,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrsadubi),
                   MVT::v64i32, 3, 0, 1, 2,
  38,
   OPC_CheckChild0Integer, 48|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 45,
   OPC_MoveParent,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrsadubi_acc),
                    MVT::v32i32, 4, 0, 1, 2, 3,
   10,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrsadubi_acc),
                    MVT::v32i32, 4, 0, 1, 2, 3,
   0,
  24,
   OPC_CheckChild0Integer, 49|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 45,
   OPC_MoveParent,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrsadubi_acc),
                   MVT::v64i32, 4, 0, 1, 2, 3,
  40,
   OPC_CheckChild0Integer, 100|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 35,
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvvb_oracci),
                    MVT::v16i32, 4, 0, 1, 2, 3,
   11,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvvb_oracci),
                    MVT::v16i32, 4, 0, 1, 2, 3,
   0,
  25,
   OPC_CheckChild0Integer, 101|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 35,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvvb_oracci),
                   MVT::v32i32, 4, 0, 1, 2, 3,
  37,
   OPC_CheckChild0Integer, 102|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 35,
   OPC_MoveParent,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvvbi),
                    MVT::v16i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvvbi),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  23,
   OPC_CheckChild0Integer, 103|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 35,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvvbi),
                   MVT::v32i32, 3, 0, 1, 2,
  40,
   OPC_CheckChild0Integer, 110|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 35,
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvwh_oracci),
                    MVT::v32i32, 4, 0, 1, 2, 3,
   11,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvwh_oracci),
                    MVT::v32i32, 4, 0, 1, 2, 3,
   0,
  25,
   OPC_CheckChild0Integer, 111|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 35,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvwh_oracci),
                   MVT::v64i32, 4, 0, 1, 2, 3,
  37,
   OPC_CheckChild0Integer, 112|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 35,
   OPC_MoveParent,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvwhi),
                    MVT::v32i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvwhi),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  23,
   OPC_CheckChild0Integer, 113|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 35,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvwhi),
                   MVT::v64i32, 3, 0, 1, 2,
  37,
   OPC_CheckChild0Integer, 118|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 22,
   OPC_MoveParent,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_v6mpyhubs10),
                    MVT::v32i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_v6mpyhubs10),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  23,
   OPC_CheckChild0Integer, 119|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 22,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_v6mpyhubs10),
                   MVT::v64i32, 3, 0, 1, 2,
  40,
   OPC_CheckChild0Integer, 120|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 22,
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_v6mpyhubs10_vxx),
                    MVT::v32i32, 4, 0, 1, 2, 3,
   11,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_v6mpyhubs10_vxx),
                    MVT::v32i32, 4, 0, 1, 2, 3,
   0,
  25,
   OPC_CheckChild0Integer, 121|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 22,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_v6mpyhubs10_vxx),
                   MVT::v64i32, 4, 0, 1, 2, 3,
  37,
   OPC_CheckChild0Integer, 122|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 22,
   OPC_MoveParent,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_v6mpyvubs10),
                    MVT::v32i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_v6mpyvubs10),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  23,
   OPC_CheckChild0Integer, 123|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 22,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_v6mpyvubs10),
                   MVT::v64i32, 3, 0, 1, 2,
  40,
   OPC_CheckChild0Integer, 124|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 22,
   OPC_MoveParent,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_v6mpyvubs10_vxx),
                    MVT::v32i32, 4, 0, 1, 2, 3,
   11,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_v6mpyvubs10_vxx),
                    MVT::v32i32, 4, 0, 1, 2, 3,
   0,
  25,
   OPC_CheckChild0Integer, 125|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 22,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_v6mpyvubs10_vxx),
                   MVT::v64i32, 4, 0, 1, 2, 3,
  33,
   OPC_CheckChild0Integer, 122|128,43,
   OPC_Scope, 6,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v16i32, 0,
   6,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v16i32, 0,
   6,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v16i32, 0,
   6,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v16i32, 0,
   0,
  9,
   OPC_CheckChild0Integer, 123|128,43,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                   MVT::v32i32, 0,
  37,
   OPC_CheckChild0Integer, 124|128,43,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdd0),
                    MVT::v32i32, 0,
   7,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdd0),
                    MVT::v32i32, 0,
   7,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdd0),
                    MVT::v32i32, 0,
   7,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdd0),
                    MVT::v32i32, 0,
   0,
  10,
   OPC_CheckChild0Integer, 125|128,43,
   OPC_CheckPatternPredicate, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdd0),
                   MVT::v64i32, 0,
  27,
   OPC_CheckChild0Integer, 18|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 79,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpyub_rtt),
                    MVT::v32i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 80,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpyub_rtt),
                    MVT::v32i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 19|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 81,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpyub_rtt),
                   MVT::v64i32, 2, 0, 1,
  30,
   OPC_CheckChild0Integer, 20|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 79,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpyub_rtt_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 80,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpyub_rtt_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 21|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 81,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpyub_rtt_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  27,
   OPC_CheckChild0Integer, 122|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 79,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybub_rtt),
                    MVT::v32i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 80,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybub_rtt),
                    MVT::v32i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 123|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 81,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybub_rtt),
                   MVT::v64i32, 2, 0, 1,
  30,
   OPC_CheckChild0Integer, 124|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 79,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybub_rtt_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 80,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybub_rtt_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 125|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 81,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybub_rtt_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 92|128,40,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_lvsplatw),
                    MVT::v16i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_lvsplatw),
                    MVT::v16i32, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 93|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_lvsplatw),
                   MVT::v32i32, 1, 0,
  35,
   OPC_CheckChild0Integer, 94|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and),
                    MVT::v64i1, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 57,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and),
                    MVT::v64i1, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and),
                    MVT::v64i1, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 95|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and),
                   MVT::v128i1, 2, 0, 1,
  35,
   OPC_CheckChild0Integer, 96|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                    MVT::v64i1, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 57,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                    MVT::v64i1, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                    MVT::v64i1, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 97|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_and_n),
                   MVT::v128i1, 2, 0, 1,
  31,
   OPC_CheckChild0Integer, 98|128,40,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                    MVT::v64i1, 1, 0,
   8,
    OPC_CheckPatternPredicate, 57,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                    MVT::v64i1, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                    MVT::v64i1, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 99|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                   MVT::v128i1, 1, 0,
  35,
   OPC_CheckChild0Integer, 100|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or),
                    MVT::v64i1, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 57,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or),
                    MVT::v64i1, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or),
                    MVT::v64i1, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 101|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or),
                   MVT::v128i1, 2, 0, 1,
  35,
   OPC_CheckChild0Integer, 102|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                    MVT::v64i1, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 57,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                    MVT::v64i1, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                    MVT::v64i1, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 103|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_or_n),
                   MVT::v128i1, 2, 0, 1,
  31,
   OPC_CheckChild0Integer, 104|128,40,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_scalar2),
                    MVT::v64i1, 1, 0,
   8,
    OPC_CheckPatternPredicate, 57,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_scalar2),
                    MVT::v64i1, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_scalar2),
                    MVT::v64i1, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 105|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_scalar2),
                   MVT::v128i1, 1, 0,
  35,
   OPC_CheckChild0Integer, 110|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_xor),
                    MVT::v64i1, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 57,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_xor),
                    MVT::v64i1, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_xor),
                    MVT::v64i1, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 111|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_xor),
                   MVT::v128i1, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 84|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsdiffh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsdiffh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 85|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsdiffh),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 86|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsdiffub),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsdiffub),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 87|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsdiffub),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 88|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsdiffuh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsdiffuh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 89|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsdiffuh),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 90|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsdiffw),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsdiffw),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 91|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsdiffw),
                   MVT::v32i32, 2, 0, 1,
  22,
   OPC_CheckChild0Integer, 92|128,41,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsh),
                    MVT::v16i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsh),
                    MVT::v16i32, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 93|128,41,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsh),
                   MVT::v32i32, 1, 0,
  22,
   OPC_CheckChild0Integer, 94|128,41,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsh_sat),
                    MVT::v16i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsh_sat),
                    MVT::v16i32, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 95|128,41,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsh_sat),
                   MVT::v32i32, 1, 0,
  22,
   OPC_CheckChild0Integer, 96|128,41,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsw),
                    MVT::v16i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsw),
                    MVT::v16i32, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 97|128,41,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsw),
                   MVT::v32i32, 1, 0,
  22,
   OPC_CheckChild0Integer, 98|128,41,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsw_sat),
                    MVT::v16i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsw_sat),
                    MVT::v16i32, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 99|128,41,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsw_sat),
                   MVT::v32i32, 1, 0,
  25,
   OPC_CheckChild0Integer, 122|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddb),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddb),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 123|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddb),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 124|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddb_dv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddb_dv),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 125|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddb_dv),
                   MVT::v64i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 126|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddbnq),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddbnq),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 127|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddbnq),
                   MVT::v32i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 0|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddbq),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddbq),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 1|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddbq),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 16|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 17|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddh),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 18|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddh_dv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddh_dv),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 19|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddh_dv),
                   MVT::v64i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 20|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddhnq),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddhnq),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 21|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddhnq),
                   MVT::v32i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 22|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddhq),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddhq),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 23|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddhq),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 24|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddhsat),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddhsat),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 25|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddhsat),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 26|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddhsat_dv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddhsat_dv),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 27|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddhsat_dv),
                   MVT::v64i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 28|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddhw),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddhw),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 29|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddhw),
                   MVT::v64i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 32|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddubh),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddubh),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 33|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddubh),
                   MVT::v64i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 36|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddubsat),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddubsat),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 37|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddubsat),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 38|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddubsat_dv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddubsat_dv),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 39|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddubsat_dv),
                   MVT::v64i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 42|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduhsat),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduhsat),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 43|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduhsat),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 44|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduhsat_dv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduhsat_dv),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 45|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduhsat_dv),
                   MVT::v64i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 46|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduhw),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduhw),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 47|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduhw),
                   MVT::v64i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 54|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddw),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddw),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 55|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddw),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 56|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddw_dv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddw_dv),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 57|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddw_dv),
                   MVT::v64i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 58|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddwnq),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddwnq),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 59|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddwnq),
                   MVT::v32i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 60|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddwq),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddwq),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 61|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddwq),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 62|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddwsat),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddwsat),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 63|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddwsat),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 64|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddwsat_dv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddwsat_dv),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 65|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddwsat_dv),
                   MVT::v64i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 72|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vand),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vand),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 73|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vand),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 78|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandqrt),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandqrt),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 79|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandqrt),
                   MVT::v32i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 80|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandqrt_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandqrt_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 81|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandqrt_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 86|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                    MVT::v64i1, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                    MVT::v64i1, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 87|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                   MVT::v128i1, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 88|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt_acc),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt_acc),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 89|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt_acc),
                   MVT::v128i1, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 90|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 91|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslh),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 94|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslhv),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslhv),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 95|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslhv),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 96|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslw),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslw),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 97|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslw),
                   MVT::v32i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 98|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslw_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslw_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 99|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslw_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 100|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslwv),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslwv),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 101|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslwv),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 104|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 105|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrh),
                   MVT::v32i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 108|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrhbrndsat),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrhbrndsat),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 109|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrhbrndsat),
                   MVT::v32i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 112|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrhubrndsat),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrhubrndsat),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 113|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrhubrndsat),
                   MVT::v32i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 114|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrhubsat),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrhubsat),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 115|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrhubsat),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 116|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrhv),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrhv),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 117|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrhv),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 6|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 7|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw),
                   MVT::v32i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 8|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 9|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 10|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrwh),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrwh),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 11|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrwh),
                   MVT::v32i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 12|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrwhrndsat),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrwhrndsat),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 13|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrwhrndsat),
                   MVT::v32i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 14|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrwhsat),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrwhsat),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 15|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrwhsat),
                   MVT::v32i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 18|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrwuhsat),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrwuhsat),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 19|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrwuhsat),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 20|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrwv),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrwv),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 21|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrwv),
                   MVT::v32i32, 2, 0, 1,
  22,
   OPC_CheckChild0Integer, 22|128,43,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vassign),
                    MVT::v16i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vassign),
                    MVT::v16i32, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 23|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vassign),
                   MVT::v32i32, 1, 0,
  22,
   OPC_CheckChild0Integer, 26|128,43,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vassignp),
                    MVT::v32i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vassignp),
                    MVT::v32i32, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 27|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vassignp),
                   MVT::v64i32, 1, 0,
  25,
   OPC_CheckChild0Integer, 32|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavgh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavgh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 33|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavgh),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 34|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavghrnd),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavghrnd),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 35|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavghrnd),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 36|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavgub),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavgub),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 37|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavgub),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 38|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavgubrnd),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavgubrnd),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 39|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavgubrnd),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 40|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavguh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavguh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 41|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavguh),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 42|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavguhrnd),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavguhrnd),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 43|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavguhrnd),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 48|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavgw),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavgw),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 49|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavgw),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 50|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavgwrnd),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavgwrnd),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 51|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavgwrnd),
                   MVT::v32i32, 2, 0, 1,
  22,
   OPC_CheckChild0Integer, 52|128,43,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcl0h),
                    MVT::v16i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcl0h),
                    MVT::v16i32, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 53|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcl0h),
                   MVT::v32i32, 1, 0,
  22,
   OPC_CheckChild0Integer, 54|128,43,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcl0w),
                    MVT::v16i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcl0w),
                    MVT::v16i32, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 55|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcl0w),
                   MVT::v32i32, 1, 0,
  25,
   OPC_CheckChild0Integer, 56|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcombine),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcombine),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 57|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcombine),
                   MVT::v64i32, 2, 0, 1,
  22,
   OPC_CheckChild0Integer, 126|128,43,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdealb),
                    MVT::v16i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdealb),
                    MVT::v16i32, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 127|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdealb),
                   MVT::v32i32, 1, 0,
  25,
   OPC_CheckChild0Integer, 0|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdealb4w),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdealb4w),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 1|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdealb4w),
                   MVT::v32i32, 2, 0, 1,
  22,
   OPC_CheckChild0Integer, 2|128,44,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdealh),
                    MVT::v16i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdealh),
                    MVT::v16i32, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 3|128,44,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdealh),
                   MVT::v32i32, 1, 0,
  28,
   OPC_CheckChild0Integer, 4|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                    MVT::v32i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 5|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdealvdd),
                   MVT::v64i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 6|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdelta),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdelta),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 7|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdelta),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 12|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpybus),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpybus),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 13|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpybus),
                   MVT::v32i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 14|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpybus_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpybus_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 15|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpybus_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 16|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpybus_dv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpybus_dv),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 17|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpybus_dv),
                   MVT::v64i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 18|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpybus_dv_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpybus_dv_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 19|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpybus_dv_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 20|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhb),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhb),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 21|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhb),
                   MVT::v32i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 22|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhb_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhb_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 23|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhb_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 24|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhb_dv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhb_dv),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 25|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhb_dv),
                   MVT::v64i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 26|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhb_dv_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhb_dv_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 27|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhb_dv_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 28|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhisat),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhisat),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 29|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhisat),
                   MVT::v32i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 30|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhisat_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhisat_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 31|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhisat_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 32|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhsat),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhsat),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 33|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhsat),
                   MVT::v32i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 34|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhsat_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhsat_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 35|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhsat_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 36|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhsuisat),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhsuisat),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 37|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhsuisat),
                   MVT::v32i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 38|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhsuisat_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhsuisat_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 39|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhsuisat_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 40|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhsusat),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhsusat),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 41|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhsusat),
                   MVT::v32i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 42|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhsusat_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhsusat_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 43|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhsusat_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 44|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhvsat),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhvsat),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 45|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhvsat),
                   MVT::v32i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 46|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhvsat_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhvsat_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 47|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpyhvsat_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 48|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdsaduh),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdsaduh),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 49|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdsaduh),
                   MVT::v64i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 50|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdsaduh_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdsaduh_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 51|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdsaduh_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 52|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb),
                    MVT::v64i1, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb),
                    MVT::v64i1, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 53|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb),
                   MVT::v128i1, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 54|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_and),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_and),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 55|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_and),
                   MVT::v128i1, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 56|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_or),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_or),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 57|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_or),
                   MVT::v128i1, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 58|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 59|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_xor),
                   MVT::v128i1, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 60|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh),
                    MVT::v64i1, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh),
                    MVT::v64i1, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 61|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh),
                   MVT::v128i1, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 62|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 63|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_and),
                   MVT::v128i1, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 64|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 65|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_or),
                   MVT::v128i1, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 66|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 67|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                   MVT::v128i1, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 84|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw),
                    MVT::v64i1, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw),
                    MVT::v64i1, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 85|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw),
                   MVT::v128i1, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 86|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 87|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_and),
                   MVT::v128i1, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 88|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 89|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_or),
                   MVT::v128i1, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 90|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 91|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                   MVT::v128i1, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 124|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb),
                    MVT::v64i1, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb),
                    MVT::v64i1, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 125|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb),
                   MVT::v128i1, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 126|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_and),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_and),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 127|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_and),
                   MVT::v128i1, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 0|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_or),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_or),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 1|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_or),
                   MVT::v128i1, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 2|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 3|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_xor),
                   MVT::v128i1, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 12|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth),
                    MVT::v64i1, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth),
                    MVT::v64i1, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 13|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth),
                   MVT::v128i1, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 14|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_and),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_and),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 15|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_and),
                   MVT::v128i1, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 16|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_or),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_or),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 17|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_or),
                   MVT::v128i1, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 18|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 19|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_xor),
                   MVT::v128i1, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 36|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub),
                    MVT::v64i1, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub),
                    MVT::v64i1, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 37|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub),
                   MVT::v128i1, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 38|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_and),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_and),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 39|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_and),
                   MVT::v128i1, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 40|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_or),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_or),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 41|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_or),
                   MVT::v128i1, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 42|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 43|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_xor),
                   MVT::v128i1, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 44|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh),
                    MVT::v64i1, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh),
                    MVT::v64i1, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 45|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh),
                   MVT::v128i1, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 46|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_and),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_and),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 47|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_and),
                   MVT::v128i1, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 48|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_or),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_or),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 49|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_or),
                   MVT::v128i1, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 50|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 51|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_xor),
                   MVT::v128i1, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 52|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw),
                    MVT::v64i1, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw),
                    MVT::v64i1, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 53|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw),
                   MVT::v128i1, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 54|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_and),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_and),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 55|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_and),
                   MVT::v128i1, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 56|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_or),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_or),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 57|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_or),
                   MVT::v128i1, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 58|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 59|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_xor),
                   MVT::v128i1, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 60|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw),
                    MVT::v64i1, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw),
                    MVT::v64i1, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 61|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw),
                   MVT::v128i1, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 62|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_and),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_and),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 63|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_and),
                   MVT::v128i1, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 64|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_or),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_or),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 65|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_or),
                   MVT::v128i1, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 66|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 67|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_xor),
                   MVT::v128i1, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 76|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vinsertwr),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vinsertwr),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 77|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vinsertwr),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 84|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 85|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrh),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 86|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 87|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 88|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrw),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrw),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 89|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrw),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 90|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 91|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                   MVT::v32i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 94|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvvb),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvvb),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 95|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvvb),
                   MVT::v32i32, 3, 0, 1, 2,
  31,
   OPC_CheckChild0Integer, 98|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvvb_oracc),
                    MVT::v16i32, 4, 0, 1, 2, 3,
   10,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvvb_oracc),
                    MVT::v16i32, 4, 0, 1, 2, 3,
   0,
  17,
   OPC_CheckChild0Integer, 99|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvvb_oracc),
                   MVT::v32i32, 4, 0, 1, 2, 3,
  28,
   OPC_CheckChild0Integer, 104|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvwh),
                    MVT::v32i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvwh),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 105|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvwh),
                   MVT::v64i32, 3, 0, 1, 2,
  31,
   OPC_CheckChild0Integer, 108|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvwh_oracc),
                    MVT::v32i32, 4, 0, 1, 2, 3,
   10,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvwh_oracc),
                    MVT::v32i32, 4, 0, 1, 2, 3,
   0,
  17,
   OPC_CheckChild0Integer, 109|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvwh_oracc),
                   MVT::v64i32, 4, 0, 1, 2, 3,
  25,
   OPC_CheckChild0Integer, 2|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 3|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxh),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 4|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxub),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxub),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 5|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxub),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 6|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxuh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxuh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 7|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxuh),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 8|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxw),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxw),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 9|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxw),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 20|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 21|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminh),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 22|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminub),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminub),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 23|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminub),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 24|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminuh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminuh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 25|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminuh),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 26|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminw),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminw),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 27|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminw),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 28|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpabus),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpabus),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 29|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpabus),
                   MVT::v64i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 30|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpabus_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpabus_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 31|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpabus_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 32|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpabusv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpabusv),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 33|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpabusv),
                   MVT::v64i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 38|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpabuuv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpabuuv),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 39|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpabuuv),
                   MVT::v64i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 40|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpahb),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpahb),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 41|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpahb),
                   MVT::v64i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 42|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpahb_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpahb_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 43|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpahb_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 94|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpybus),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpybus),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 95|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpybus),
                   MVT::v64i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 96|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpybus_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpybus_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 97|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpybus_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 98|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpybusv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpybusv),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 99|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpybusv),
                   MVT::v64i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 100|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 101|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpybusv_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 102|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpybv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpybv),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 103|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpybv),
                   MVT::v64i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 104|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpybv_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpybv_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 105|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpybv_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 106|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyewuh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyewuh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 107|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyewuh),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 110|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyh),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyh),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 111|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyh),
                   MVT::v64i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 114|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyhsat_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyhsat_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 115|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyhsat_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 116|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyhsrs),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyhsrs),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 117|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyhsrs),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 118|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyhss),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyhss),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 119|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyhss),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 120|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyhus),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyhus),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 121|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyhus),
                   MVT::v64i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 122|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 123|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyhus_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 124|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyhv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyhv),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 125|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyhv),
                   MVT::v64i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 126|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyhv_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyhv_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 127|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyhv_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 0|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyhvsrs),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyhvsrs),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 1|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyhvsrs),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 2|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyieoh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyieoh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 3|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyieoh),
                   MVT::v32i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 4|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiewh_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiewh_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 5|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiewh_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 6|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiewuh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiewuh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 7|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiewuh),
                   MVT::v32i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 8|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiewuh_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiewuh_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 9|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiewuh_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 10|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyih),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyih),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 11|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyih),
                   MVT::v32i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 12|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyih_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyih_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 13|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyih_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 14|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyihb),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyihb),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 15|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyihb),
                   MVT::v32i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 16|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyihb_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyihb_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 17|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyihb_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 18|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiowh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiowh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 19|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiowh),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 20|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiwb),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiwb),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 21|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiwb),
                   MVT::v32i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 22|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiwb_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiwb_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 23|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiwb_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 24|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiwh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiwh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 25|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiwh),
                   MVT::v32i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 26|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiwh_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiwh_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 27|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiwh_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 32|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyowh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyowh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 33|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyowh),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 36|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyowh_rnd),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyowh_rnd),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 37|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyowh_rnd),
                   MVT::v32i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 38|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyowh_rnd_sacc),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyowh_rnd_sacc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 39|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyowh_rnd_sacc),
                   MVT::v32i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 40|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyowh_sacc),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyowh_sacc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 41|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyowh_sacc),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 44|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyub),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyub),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 45|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyub),
                   MVT::v64i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 46|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyub_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyub_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 47|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyub_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 48|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyubv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyubv),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 49|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyubv),
                   MVT::v64i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 50|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyubv_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyubv_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 51|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyubv_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 52|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyuh),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyuh),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 53|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyuh),
                   MVT::v64i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 54|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyuh_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyuh_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 55|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyuh_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 60|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyuhv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyuhv),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 61|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyuhv),
                   MVT::v64i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 62|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyuhv_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyuhv_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 63|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyuhv_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 70|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 71|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 74|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnavgh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnavgh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 75|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnavgh),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 76|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnavgub),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnavgub),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 77|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnavgub),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 78|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnavgw),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnavgw),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 79|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnavgw),
                   MVT::v32i32, 2, 0, 1,
  22,
   OPC_CheckChild0Integer, 88|128,47,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnormamth),
                    MVT::v16i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnormamth),
                    MVT::v16i32, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 89|128,47,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnormamth),
                   MVT::v32i32, 1, 0,
  22,
   OPC_CheckChild0Integer, 90|128,47,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnormamtw),
                    MVT::v16i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnormamtw),
                    MVT::v16i32, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 91|128,47,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnormamtw),
                   MVT::v32i32, 1, 0,
  22,
   OPC_CheckChild0Integer, 92|128,47,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnot),
                    MVT::v16i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnot),
                    MVT::v16i32, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 93|128,47,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnot),
                   MVT::v32i32, 1, 0,
  25,
   OPC_CheckChild0Integer, 94|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 95|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vor),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 96|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackeb),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackeb),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 97|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackeb),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 98|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackeh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackeh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 99|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackeh),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 100|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhb_sat),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhb_sat),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 101|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhb_sat),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 102|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhub_sat),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhub_sat),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 103|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhub_sat),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 104|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackob),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackob),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 105|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackob),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 106|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackoh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackoh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 107|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackoh),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 108|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackwh_sat),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackwh_sat),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 109|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackwh_sat),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 110|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackwuh_sat),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackwuh_sat),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 111|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackwuh_sat),
                   MVT::v32i32, 2, 0, 1,
  22,
   OPC_CheckChild0Integer, 112|128,47,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpopcounth),
                    MVT::v16i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpopcounth),
                    MVT::v16i32, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 113|128,47,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpopcounth),
                   MVT::v32i32, 1, 0,
  25,
   OPC_CheckChild0Integer, 120|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrdelta),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrdelta),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 121|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrdelta),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 126|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybus),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybus),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 127|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybus),
                   MVT::v32i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 0|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybus_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybus_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 1|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybus_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 6|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybusv),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybusv),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 7|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybusv),
                   MVT::v32i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 8|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybusv_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybusv_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 9|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybusv_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 10|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybv),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybv),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 11|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybv),
                   MVT::v32i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 12|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybv_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybv_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 13|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpybv_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 14|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpyub),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpyub),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 15|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpyub),
                   MVT::v32i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 16|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpyub_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpyub_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 17|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpyub_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 26|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpyubv),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpyubv),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 27|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpyubv),
                   MVT::v32i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 28|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpyubv_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpyubv_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 29|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrmpyubv_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 34|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vroundhb),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vroundhb),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 35|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vroundhb),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 36|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vroundhub),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vroundhub),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 37|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vroundhub),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 42|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vroundwh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vroundwh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 43|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vroundwh),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 44|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vroundwuh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vroundwuh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 45|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vroundwuh),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 52|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsathub),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsathub),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 53|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsathub),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 56|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsatwh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsatwh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 57|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsatwh),
                   MVT::v32i32, 2, 0, 1,
  22,
   OPC_CheckChild0Integer, 58|128,48,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsb),
                    MVT::v32i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsb),
                    MVT::v32i32, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 59|128,48,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsb),
                   MVT::v64i32, 1, 0,
  22,
   OPC_CheckChild0Integer, 78|128,48,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsh),
                    MVT::v32i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsh),
                    MVT::v32i32, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 79|128,48,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsh),
                   MVT::v64i32, 1, 0,
  25,
   OPC_CheckChild0Integer, 80|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshufeh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshufeh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 81|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshufeh),
                   MVT::v32i32, 2, 0, 1,
  22,
   OPC_CheckChild0Integer, 82|128,48,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffb),
                    MVT::v16i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffb),
                    MVT::v16i32, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 83|128,48,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffb),
                   MVT::v32i32, 1, 0,
  25,
   OPC_CheckChild0Integer, 84|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 85|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                   MVT::v32i32, 2, 0, 1,
  22,
   OPC_CheckChild0Integer, 86|128,48,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffh),
                    MVT::v16i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffh),
                    MVT::v16i32, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 87|128,48,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffh),
                   MVT::v32i32, 1, 0,
  25,
   OPC_CheckChild0Integer, 88|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffob),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffob),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 89|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffob),
                   MVT::v32i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 90|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                    MVT::v32i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 91|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                   MVT::v64i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 92|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshufoeb),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshufoeb),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 93|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshufoeb),
                   MVT::v64i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 94|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshufoeh),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshufoeh),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 95|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshufoeh),
                   MVT::v64i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 96|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshufoh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshufoh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 97|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshufoh),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 124|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubb),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubb),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 125|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubb),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 126|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubb_dv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubb_dv),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 127|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubb_dv),
                   MVT::v64i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 0|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubbnq),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubbnq),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 1|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubbnq),
                   MVT::v32i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 2|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubbq),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubbq),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 3|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubbq),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 12|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubh),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubh),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 13|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubh),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 14|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubh_dv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubh_dv),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 15|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubh_dv),
                   MVT::v64i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 16|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubhnq),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubhnq),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 17|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubhnq),
                   MVT::v32i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 18|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubhq),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubhq),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 19|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubhq),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 20|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubhsat),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubhsat),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 21|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubhsat),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 22|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubhsat_dv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubhsat_dv),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 23|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubhsat_dv),
                   MVT::v64i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 24|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubhw),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubhw),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 25|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubhw),
                   MVT::v64i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 26|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsububh),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsububh),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 27|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsububh),
                   MVT::v64i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 28|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsububsat),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsububsat),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 29|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsububsat),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 30|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsububsat_dv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsububsat_dv),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 31|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsububsat_dv),
                   MVT::v64i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 34|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuhsat),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuhsat),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 35|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuhsat),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 36|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuhsat_dv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuhsat_dv),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 37|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuhsat_dv),
                   MVT::v64i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 38|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuhw),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuhw),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 39|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuhw),
                   MVT::v64i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 44|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubw),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubw),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 45|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubw),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 46|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubw_dv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubw_dv),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 47|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubw_dv),
                   MVT::v64i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 48|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubwnq),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubwnq),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 49|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubwnq),
                   MVT::v32i32, 3, 0, 1, 2,
  28,
   OPC_CheckChild0Integer, 50|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubwq),
                    MVT::v16i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubwq),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 51|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubwq),
                   MVT::v32i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 52|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubwsat),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubwsat),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 53|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubwsat),
                   MVT::v32i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 54|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubwsat_dv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubwsat_dv),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 55|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubwsat_dv),
                   MVT::v64i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 56|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vswap),
                    MVT::v32i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vswap),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 57|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vswap),
                   MVT::v64i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 58|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vtmpyb),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vtmpyb),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 59|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vtmpyb),
                   MVT::v64i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 60|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vtmpyb_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vtmpyb_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 61|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vtmpyb_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 62|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vtmpybus),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vtmpybus),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 63|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vtmpybus),
                   MVT::v64i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 64|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vtmpybus_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vtmpybus_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 65|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vtmpybus_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  25,
   OPC_CheckChild0Integer, 66|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vtmpyhb),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vtmpyhb),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 67|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vtmpyhb),
                   MVT::v64i32, 2, 0, 1,
  28,
   OPC_CheckChild0Integer, 68|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vtmpyhb_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   9,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vtmpyhb_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  15,
   OPC_CheckChild0Integer, 69|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vtmpyhb_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  22,
   OPC_CheckChild0Integer, 70|128,49,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackb),
                    MVT::v32i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackb),
                    MVT::v32i32, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 71|128,49,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackb),
                   MVT::v64i32, 1, 0,
  22,
   OPC_CheckChild0Integer, 72|128,49,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackh),
                    MVT::v32i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackh),
                    MVT::v32i32, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 73|128,49,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackh),
                   MVT::v64i32, 1, 0,
  25,
   OPC_CheckChild0Integer, 74|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackob),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackob),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 75|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackob),
                   MVT::v64i32, 2, 0, 1,
  25,
   OPC_CheckChild0Integer, 76|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackoh),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackoh),
                    MVT::v32i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 77|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackoh),
                   MVT::v64i32, 2, 0, 1,
  22,
   OPC_CheckChild0Integer, 78|128,49,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackub),
                    MVT::v32i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackub),
                    MVT::v32i32, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 79|128,49,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackub),
                   MVT::v64i32, 1, 0,
  22,
   OPC_CheckChild0Integer, 80|128,49,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackuh),
                    MVT::v32i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackuh),
                    MVT::v32i32, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 81|128,49,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackuh),
                   MVT::v64i32, 1, 0,
  25,
   OPC_CheckChild0Integer, 82|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vxor),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vxor),
                    MVT::v16i32, 2, 0, 1,
   0,
  13,
   OPC_CheckChild0Integer, 83|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vxor),
                   MVT::v32i32, 2, 0, 1,
  22,
   OPC_CheckChild0Integer, 84|128,49,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v32i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v32i32, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 85|128,49,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vzb),
                   MVT::v64i32, 1, 0,
  22,
   OPC_CheckChild0Integer, 86|128,49,
   OPC_RecordChild1,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vzh),
                    MVT::v32i32, 1, 0,
   7,
    OPC_CheckPatternPredicate6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vzh),
                    MVT::v32i32, 1, 0,
   0,
  11,
   OPC_CheckChild0Integer, 87|128,49,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vzh),
                   MVT::v64i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 88|128,40,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_lvsplatb),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_lvsplatb),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 89|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_lvsplatb),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 90|128,40,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_lvsplath),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_lvsplath),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 91|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_lvsplath),
                   MVT::v32i32, 1, 0,
  33,
   OPC_CheckChild0Integer, 106|128,40,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_scalar2v2),
                    MVT::v64i1, 1, 0,
   8,
    OPC_CheckPatternPredicate, 96,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_scalar2v2),
                    MVT::v64i1, 1, 0,
   8,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_scalar2v2),
                    MVT::v64i1, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 107|128,40,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_scalar2v2),
                   MVT::v128i1, 1, 0,
  37,
   OPC_CheckChild0Integer, 114|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_shuffeqh),
                    MVT::v64i1, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 96,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_shuffeqh),
                    MVT::v64i1, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_shuffeqh),
                    MVT::v64i1, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 115|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_shuffeqh),
                   MVT::v128i1, 2, 0, 1,
  37,
   OPC_CheckChild0Integer, 116|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_shuffeqw),
                    MVT::v64i1, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 96,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_shuffeqw),
                    MVT::v64i1, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_shuffeqw),
                    MVT::v64i1, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 117|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_shuffeqw),
                   MVT::v128i1, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 2|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddbsat),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddbsat),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 3|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddbsat),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 4|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddbsat_dv),
                    MVT::v32i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddbsat_dv),
                    MVT::v32i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 5|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddbsat_dv),
                   MVT::v64i32, 2, 0, 1,
  32,
   OPC_CheckChild0Integer, 6|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::V6_vaddcarry),
                    MVT::v16i32, MVT::v64i1, 3, 0, 1, 2,
   11,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::V6_vaddcarry),
                    MVT::v16i32, MVT::v64i1, 3, 0, 1, 2,
   0,
  17,
   OPC_CheckChild0Integer, 7|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::V6_vaddcarry),
                   MVT::v32i32, MVT::v128i1, 3, 0, 1, 2,
  27,
   OPC_CheckChild0Integer, 12|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddclbh),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddclbh),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 13|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddclbh),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 14|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddclbw),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddclbw),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 15|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddclbw),
                   MVT::v32i32, 2, 0, 1,
  30,
   OPC_CheckChild0Integer, 30|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 31|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddhw_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 34|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 35|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddubh_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  27,
   OPC_CheckChild0Integer, 40|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddububb_sat),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddububb_sat),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 41|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddububb_sat),
                   MVT::v32i32, 2, 0, 1,
  30,
   OPC_CheckChild0Integer, 48|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 49|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduhw_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  27,
   OPC_CheckChild0Integer, 50|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduwsat),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduwsat),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 51|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduwsat),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 52|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduwsat_dv),
                    MVT::v32i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduwsat_dv),
                    MVT::v32i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 53|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduwsat_dv),
                   MVT::v64i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 74|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandnqrt),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandnqrt),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 75|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandnqrt),
                   MVT::v32i32, 2, 0, 1,
  30,
   OPC_CheckChild0Integer, 76|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandnqrt_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandnqrt_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 77|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandnqrt_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  27,
   OPC_CheckChild0Integer, 82|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvnqv),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvnqv),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 83|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvnqv),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 84|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvqv),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvqv),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 85|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvqv),
                   MVT::v32i32, 2, 0, 1,
  30,
   OPC_CheckChild0Integer, 110|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrhbsat),
                    MVT::v16i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrhbsat),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 111|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrhbsat),
                   MVT::v32i32, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 122|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasruwuhrndsat),
                    MVT::v16i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasruwuhrndsat),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 123|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasruwuhrndsat),
                   MVT::v32i32, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 16|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrwuhrndsat),
                    MVT::v16i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrwuhrndsat),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 17|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrwuhrndsat),
                   MVT::v32i32, 3, 0, 1, 2,
  27,
   OPC_CheckChild0Integer, 82|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrb),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrb),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 83|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrb),
                   MVT::v32i32, 2, 0, 1,
  30,
   OPC_CheckChild0Integer, 96|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvvb_nm),
                    MVT::v16i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvvb_nm),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 97|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvvb_nm),
                   MVT::v32i32, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 106|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvwh_nm),
                    MVT::v32i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvwh_nm),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 107|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlutvwh_nm),
                   MVT::v64i32, 3, 0, 1, 2,
  27,
   OPC_CheckChild0Integer, 0|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxb),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxb),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 1|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxb),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 18|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminb),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminb),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 19|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminb),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 46|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpauhb),
                    MVT::v32i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpauhb),
                    MVT::v32i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 47|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpauhb),
                   MVT::v64i32, 2, 0, 1,
  30,
   OPC_CheckChild0Integer, 48|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpauhb_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpauhb_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 49|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpauhb_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  27,
   OPC_CheckChild0Integer, 108|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyewuh_64),
                    MVT::v32i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyewuh_64),
                    MVT::v32i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 109|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyewuh_64),
                   MVT::v64i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 28|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiwub),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiwub),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 29|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiwub),
                   MVT::v32i32, 2, 0, 1,
  30,
   OPC_CheckChild0Integer, 30|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiwub_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiwub_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 31|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiwub_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 34|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyowh_64_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyowh_64_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 35|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyowh_64_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  27,
   OPC_CheckChild0Integer, 38|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrounduhub),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrounduhub),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 39|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrounduhub),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 40|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrounduwuh),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrounduwuh),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 41|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrounduwuh),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 54|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsatuwuh),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsatuwuh),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 55|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsatuwuh),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 4|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubbsat),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubbsat),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 5|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubbsat),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 6|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubbsat_dv),
                    MVT::v32i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubbsat_dv),
                    MVT::v32i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 7|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubbsat_dv),
                   MVT::v64i32, 2, 0, 1,
  32,
   OPC_CheckChild0Integer, 8|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::V6_vsubcarry),
                    MVT::v16i32, MVT::v64i1, 3, 0, 1, 2,
   11,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::V6_vsubcarry),
                    MVT::v16i32, MVT::v64i1, 3, 0, 1, 2,
   0,
  17,
   OPC_CheckChild0Integer, 9|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::V6_vsubcarry),
                   MVT::v32i32, MVT::v128i1, 3, 0, 1, 2,
  27,
   OPC_CheckChild0Integer, 32|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubububb_sat),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubububb_sat),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 33|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubububb_sat),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 40|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuwsat),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuwsat),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 41|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuwsat),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 42|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuwsat_dv),
                    MVT::v32i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 18,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuwsat_dv),
                    MVT::v32i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 43|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 19,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuwsat_dv),
                   MVT::v64i32, 2, 0, 1,
  24,
   OPC_CheckChild0Integer, 80|128,41,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsb),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsb),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 81|128,41,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsb),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 82|128,41,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsb_sat),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsb_sat),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 83|128,41,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsb_sat),
                   MVT::v32i32, 1, 0,
  30,
   OPC_CheckChild0Integer, 92|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslh_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslh_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 93|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslh_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 106|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrh_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrh_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 107|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrh_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 118|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasruhubrndsat),
                    MVT::v16i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasruhubrndsat),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 119|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasruhubrndsat),
                   MVT::v32i32, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 120|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasruhubsat),
                    MVT::v16i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasruhubsat),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 121|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasruhubsat),
                   MVT::v32i32, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 124|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasruwuhsat),
                    MVT::v16i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasruwuhsat),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 125|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasruwuhsat),
                   MVT::v32i32, 3, 0, 1, 2,
  27,
   OPC_CheckChild0Integer, 28|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavgb),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavgb),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 29|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavgb),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 30|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavgbrnd),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavgbrnd),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 31|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavgbrnd),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 44|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavguw),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavguw),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 45|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavguw),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 46|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavguwrnd),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavguwrnd),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 47|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vavguwrnd),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 92|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlut4),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlut4),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 93|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlut4),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 34|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpabuu),
                    MVT::v32i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpabuu),
                    MVT::v32i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 35|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpabuu),
                   MVT::v64i32, 2, 0, 1,
  30,
   OPC_CheckChild0Integer, 36|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpabuu_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpabuu_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 37|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpabuu_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 44|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpahhsat),
                    MVT::v16i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpahhsat),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 45|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpahhsat),
                   MVT::v32i32, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 50|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpauhuhsat),
                    MVT::v16i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpauhuhsat),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 51|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpauhuhsat),
                   MVT::v32i32, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 52|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpsuhuhsat),
                    MVT::v16i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpsuhuhsat),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 53|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpsuhuhsat),
                   MVT::v32i32, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 112|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyh_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyh_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 113|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyh_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  27,
   OPC_CheckChild0Integer, 56|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyuhe),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyuhe),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 57|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyuhe),
                   MVT::v32i32, 2, 0, 1,
  30,
   OPC_CheckChild0Integer, 58|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyuhe_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyuhe_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 59|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyuhe_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  27,
   OPC_CheckChild0Integer, 72|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnavgb),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnavgb),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 73|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnavgb),
                   MVT::v32i32, 2, 0, 1,
  24,
   OPC_CheckChild0Integer, 114|128,47,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vprefixqb),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vprefixqb),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 115|128,47,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vprefixqb),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 116|128,47,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vprefixqh),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vprefixqh),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 117|128,47,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vprefixqh),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 118|128,47,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vprefixqw),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vprefixqw),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 119|128,47,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vprefixqw),
                   MVT::v32i32, 1, 0,
  29,
   OPC_CheckChild0Integer, 8|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 65,
    OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::V6_vaddcarryo),
                    MVT::v16i32, MVT::v64i1, 2, 0, 1,
   10,
    OPC_CheckPatternPredicate, 66,
    OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::V6_vaddcarryo),
                    MVT::v16i32, MVT::v64i1, 2, 0, 1,
   0,
  15,
   OPC_CheckChild0Integer, 9|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 67,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::V6_vaddcarryo),
                   MVT::v32i32, MVT::v128i1, 2, 0, 1,
  30,
   OPC_CheckChild0Integer, 10|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 65,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddcarrysat),
                    MVT::v16i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 66,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddcarrysat),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 11|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 67,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddcarrysat),
                   MVT::v32i32, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 102|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 65,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasr_into),
                    MVT::v32i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 66,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasr_into),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 103|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 67,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasr_into),
                   MVT::v64i32, 3, 0, 1, 2,
  27,
   OPC_CheckChild0Integer, 32|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 65,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrotr),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 66,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrotr),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 33|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 67,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vrotr),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 50|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 65,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsatdw),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 66,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsatdw),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 51|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 67,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsatdw),
                   MVT::v32i32, 2, 0, 1,
  29,
   OPC_CheckChild0Integer, 10|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 65,
    OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::V6_vsubcarryo),
                    MVT::v16i32, MVT::v64i1, 2, 0, 1,
   10,
    OPC_CheckPatternPredicate, 66,
    OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::V6_vsubcarryo),
                    MVT::v16i32, MVT::v64i1, 2, 0, 1,
   0,
  15,
   OPC_CheckChild0Integer, 11|128,49,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 67,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::V6_vsubcarryo),
                   MVT::v32i32, MVT::v128i1, 2, 0, 1,
  24,
   OPC_CheckChild0Integer, 68|128,41,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabs_hf),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabs_hf),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 69|128,41,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabs_hf),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 78|128,41,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabs_sf),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabs_sf),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 79|128,41,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabs_sf),
                   MVT::v32i32, 1, 0,
  27,
   OPC_CheckChild0Integer, 100|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_hf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_hf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 101|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_hf),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 104|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_hf_hf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_hf_hf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 105|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_hf_hf),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 106|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_qf16),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_qf16),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 107|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_qf16),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 108|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_qf16_mix),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_qf16_mix),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 109|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_qf16_mix),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 110|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_qf32),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_qf32),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 111|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_qf32),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 112|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_qf32_mix),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_qf32_mix),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 113|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_qf32_mix),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 114|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_sf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_sf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 115|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_sf),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 118|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_sf_hf),
                    MVT::v32i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_sf_hf),
                    MVT::v32i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 119|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_sf_hf),
                   MVT::v64i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 120|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_sf_sf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_sf_sf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 121|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_sf_sf),
                   MVT::v32i32, 2, 0, 1,
  24,
   OPC_CheckChild0Integer, 24|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vassign_fp),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vassign_fp),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 25|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vassign_fp),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 68|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_hf_qf16),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_hf_qf16),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 69|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_hf_qf16),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 70|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_hf_qf32),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_hf_qf32),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 71|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_hf_qf32),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 82|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_sf_qf32),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_sf_qf32),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 83|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_sf_qf32),
                   MVT::v32i32, 1, 0,
  27,
   OPC_CheckChild0Integer, 88|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_b_hf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_b_hf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 89|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_b_hf),
                   MVT::v32i32, 2, 0, 1,
  24,
   OPC_CheckChild0Integer, 94|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_h_hf),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_h_hf),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 95|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_h_hf),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 96|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_b),
                    MVT::v32i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_b),
                    MVT::v32i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 97|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_b),
                   MVT::v64i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 100|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_h),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_h),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 101|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_h),
                   MVT::v32i32, 1, 0,
  27,
   OPC_CheckChild0Integer, 102|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_sf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_sf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 103|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_sf),
                   MVT::v32i32, 2, 0, 1,
  24,
   OPC_CheckChild0Integer, 104|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_ub),
                    MVT::v32i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_ub),
                    MVT::v32i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 105|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_ub),
                   MVT::v64i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 106|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_uh),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_uh),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 107|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_uh),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 108|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_sf_hf),
                    MVT::v32i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_sf_hf),
                    MVT::v32i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 109|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_sf_hf),
                   MVT::v64i32, 1, 0,
  27,
   OPC_CheckChild0Integer, 110|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_ub_hf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_ub_hf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 111|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_ub_hf),
                   MVT::v32i32, 2, 0, 1,
  24,
   OPC_CheckChild0Integer, 112|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_uh_hf),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_uh_hf),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 113|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_uh_hf),
                   MVT::v32i32, 1, 0,
  27,
   OPC_CheckChild0Integer, 8|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpy_sf_hf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpy_sf_hf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 9|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpy_sf_hf),
                   MVT::v32i32, 2, 0, 1,
  30,
   OPC_CheckChild0Integer, 10|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpy_sf_hf_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpy_sf_hf_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 11|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdmpy_sf_hf_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  27,
   OPC_CheckChild0Integer, 94|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_hf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_hf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 95|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_hf),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 96|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_sf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_sf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 97|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_sf),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 100|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_hf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_hf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 101|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_hf),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 102|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_sf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_sf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 103|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_sf),
                   MVT::v32i32, 2, 0, 1,
  24,
   OPC_CheckChild0Integer, 106|128,44,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfneg_hf),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfneg_hf),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 107|128,44,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfneg_hf),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 108|128,44,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfneg_sf),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfneg_sf),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 109|128,44,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfneg_sf),
                   MVT::v32i32, 1, 0,
  27,
   OPC_CheckChild0Integer, 20|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf),
                    MVT::v64i1, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf),
                    MVT::v64i1, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 21|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf),
                   MVT::v128i1, 2, 0, 1,
  30,
   OPC_CheckChild0Integer, 22|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_and),
                    MVT::v64i1, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_and),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 23|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_and),
                   MVT::v128i1, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 24|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_or),
                    MVT::v64i1, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_or),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 25|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_or),
                   MVT::v128i1, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 26|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 27|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_xor),
                   MVT::v128i1, 3, 0, 1, 2,
  27,
   OPC_CheckChild0Integer, 28|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf),
                    MVT::v64i1, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf),
                    MVT::v64i1, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 29|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf),
                   MVT::v128i1, 2, 0, 1,
  30,
   OPC_CheckChild0Integer, 30|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_and),
                    MVT::v64i1, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_and),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 31|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_and),
                   MVT::v128i1, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 32|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_or),
                    MVT::v64i1, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_or),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 33|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_or),
                   MVT::v128i1, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 34|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 35|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_xor),
                   MVT::v128i1, 3, 0, 1, 2,
  27,
   OPC_CheckChild0Integer, 124|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_hf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_hf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 125|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_hf),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 126|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_sf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_sf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 127|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_sf),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 14|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_hf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_hf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 15|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_hf),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 16|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_sf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_sf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 17|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_sf),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 58|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_hf_hf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_hf_hf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 59|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_hf_hf),
                   MVT::v32i32, 2, 0, 1,
  30,
   OPC_CheckChild0Integer, 60|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_hf_hf_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_hf_hf_acc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 61|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_hf_hf_acc),
                   MVT::v32i32, 3, 0, 1, 2,
  27,
   OPC_CheckChild0Integer, 62|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_qf16),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_qf16),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 63|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_qf16),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 64|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_qf16_hf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_qf16_hf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 65|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_qf16_hf),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 66|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_qf16_mix_hf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_qf16_mix_hf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 67|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_qf16_mix_hf),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 68|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_qf32),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_qf32),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 69|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_qf32),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 70|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_qf32_hf),
                    MVT::v32i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_qf32_hf),
                    MVT::v32i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 71|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_qf32_hf),
                   MVT::v64i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 72|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_qf32_mix_hf),
                    MVT::v32i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_qf32_mix_hf),
                    MVT::v32i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 73|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_qf32_mix_hf),
                   MVT::v64i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 74|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_qf32_qf16),
                    MVT::v32i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_qf32_qf16),
                    MVT::v32i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 75|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_qf32_qf16),
                   MVT::v64i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 76|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_qf32_sf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_qf32_sf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 77|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_qf32_sf),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 88|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_sf_hf),
                    MVT::v32i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_sf_hf),
                    MVT::v32i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 89|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_sf_hf),
                   MVT::v64i32, 2, 0, 1,
  30,
   OPC_CheckChild0Integer, 90|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_sf_hf_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_sf_hf_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 91|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_sf_hf_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  27,
   OPC_CheckChild0Integer, 92|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_sf_sf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_sf_sf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 93|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_sf_sf),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 98|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_hf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_hf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 99|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_hf),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 102|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_hf_hf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_hf_hf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 103|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_hf_hf),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 106|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_qf16),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_qf16),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 107|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_qf16),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 108|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_qf16_mix),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_qf16_mix),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 109|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_qf16_mix),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 110|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_qf32),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_qf32),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 111|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_qf32),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 112|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_qf32_mix),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_qf32_mix),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 113|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_qf32_mix),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 114|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_sf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_sf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 115|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_sf),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 118|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_sf_hf),
                    MVT::v32i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_sf_hf),
                    MVT::v32i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 119|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_sf_hf),
                   MVT::v64i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 122|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 23,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_sf_sf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_sf_sf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 123|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_sf_sf),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 126|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 76,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrvuhubrndsat),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 77,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrvuhubrndsat),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 127|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 78,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrvuhubrndsat),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 0|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 76,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrvuhubsat),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 77,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrvuhubsat),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 1|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 78,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrvuhubsat),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 2|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 76,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrvwuhrndsat),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 77,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrvwuhrndsat),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 3|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 78,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrvwuhrndsat),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 4|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 76,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrvwuhsat),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 77,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrvwuhsat),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 5|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 78,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrvwuhsat),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 64|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 76,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyuhvs),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 77,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyuhvs),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 65|128,47,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 78,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyuhvs),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 116|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_sf_bf),
                    MVT::v32i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 51,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_sf_bf),
                    MVT::v32i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 117|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 52,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_sf_bf),
                   MVT::v64i32, 2, 0, 1,
  24,
   OPC_CheckChild0Integer, 62|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_h_hf),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 51,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_h_hf),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 63|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 52,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_h_hf),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 66|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_hf_h),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 51,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_hf_h),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 67|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 52,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_hf_h),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 84|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_sf_w),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 51,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_sf_w),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 85|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 52,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_sf_w),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 86|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_w_sf),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 51,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_w_sf),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 87|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 52,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_w_sf),
                   MVT::v32i32, 1, 0,
  27,
   OPC_CheckChild0Integer, 90|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_bf_sf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 51,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_bf_sf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 91|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 52,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_bf_sf),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 4|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 82,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtbf),
                    MVT::v64i1, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 83,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtbf),
                    MVT::v64i1, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 5|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 84,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtbf),
                   MVT::v128i1, 2, 0, 1,
  30,
   OPC_CheckChild0Integer, 6|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 82,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtbf_and),
                    MVT::v64i1, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 83,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtbf_and),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 7|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 84,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtbf_and),
                   MVT::v128i1, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 8|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 82,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtbf_or),
                    MVT::v64i1, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 83,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtbf_or),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 9|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 84,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtbf_or),
                   MVT::v128i1, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 10|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 82,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtbf_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 83,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtbf_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 11|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 84,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtbf_xor),
                   MVT::v128i1, 3, 0, 1, 2,
  27,
   OPC_CheckChild0Integer, 122|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_bf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 51,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_bf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 123|128,45,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 52,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_bf),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 12|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_bf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 51,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_bf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 13|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 52,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_bf),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 84|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_sf_bf),
                    MVT::v32i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 51,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_sf_bf),
                    MVT::v32i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 85|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 52,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_sf_bf),
                   MVT::v64i32, 2, 0, 1,
  30,
   OPC_CheckChild0Integer, 86|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_sf_bf_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 51,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_sf_bf_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 87|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 52,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_sf_bf_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  27,
   OPC_CheckChild0Integer, 116|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 50,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_sf_bf),
                    MVT::v32i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 51,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_sf_bf),
                    MVT::v32i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 117|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 52,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_sf_bf),
                   MVT::v64i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 80|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 58,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_get_qfext),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 59,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_get_qfext),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 81|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 60,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_get_qfext),
                   MVT::v32i32, 2, 0, 1,
  30,
   OPC_CheckChild0Integer, 82|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 58,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_get_qfext_oracc),
                    MVT::v16i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 59,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_get_qfext_oracc),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 83|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 60,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_get_qfext_oracc),
                   MVT::v32i32, 3, 0, 1, 2,
  27,
   OPC_CheckChild0Integer, 112|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 58,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_set_qfext),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 59,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_set_qfext),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 113|128,40,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 60,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_set_qfext),
                   MVT::v32i32, 2, 0, 1,
  24,
   OPC_CheckChild0Integer, 66|128,41,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 53,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabs_f8),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 54,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabs_f8),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 67|128,41,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 55,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabs_f8),
                   MVT::v32i32, 1, 0,
  27,
   OPC_CheckChild0Integer, 102|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 53,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_hf_f8),
                    MVT::v32i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 54,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_hf_f8),
                    MVT::v32i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 103|128,41,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 55,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_hf_f8),
                   MVT::v64i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 114|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 85,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt2_b_hf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 86,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt2_b_hf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 115|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 87,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt2_b_hf),
                   MVT::v32i32, 2, 0, 1,
  24,
   OPC_CheckChild0Integer, 116|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 85,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt2_hf_b),
                    MVT::v32i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 86,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt2_hf_b),
                    MVT::v32i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 117|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 87,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt2_hf_b),
                   MVT::v64i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 118|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 85,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt2_hf_ub),
                    MVT::v32i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 86,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt2_hf_ub),
                    MVT::v32i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 119|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 87,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt2_hf_ub),
                   MVT::v64i32, 1, 0,
  27,
   OPC_CheckChild0Integer, 120|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 85,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt2_ub_hf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 86,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt2_ub_hf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 121|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 87,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt2_ub_hf),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 92|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 53,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_f8_hf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 54,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_f8_hf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 93|128,43,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 55,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_f8_hf),
                   MVT::v32i32, 2, 0, 1,
  24,
   OPC_CheckChild0Integer, 98|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 53,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_f8),
                    MVT::v32i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 54,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_f8),
                    MVT::v32i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 99|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 55,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_f8),
                   MVT::v64i32, 1, 0,
  27,
   OPC_CheckChild0Integer, 92|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 53,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_f8),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 54,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_f8),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 93|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 55,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_f8),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 98|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 53,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_f8),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 54,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_f8),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 99|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 55,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_f8),
                   MVT::v32i32, 2, 0, 1,
  24,
   OPC_CheckChild0Integer, 104|128,44,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 53,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfneg_f8),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 54,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfneg_f8),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 105|128,44,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 55,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfneg_f8),
                   MVT::v32i32, 1, 0,
  27,
   OPC_CheckChild0Integer, 10|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 58,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmerge_qf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 59,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmerge_qf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 11|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 60,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmerge_qf),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 54|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 53,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_hf_f8),
                    MVT::v32i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 54,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_hf_f8),
                    MVT::v32i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 55|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 55,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_hf_f8),
                   MVT::v64i32, 2, 0, 1,
  30,
   OPC_CheckChild0Integer, 56|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 53,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_hf_f8_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 54,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_hf_f8_acc),
                    MVT::v32i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 57|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 55,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_hf_f8_acc),
                   MVT::v64i32, 3, 0, 1, 2,
  27,
   OPC_CheckChild0Integer, 78|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 58,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_rt_hf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 59,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_rt_hf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 79|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 60,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_rt_hf),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 80|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 58,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_rt_qf16),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 59,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_rt_qf16),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 81|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 60,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_rt_qf16),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 82|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 58,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_rt_sf),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 59,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_rt_sf),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 83|128,46,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 60,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_rt_sf),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 100|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 53,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_hf_f8),
                    MVT::v32i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 54,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_hf_f8),
                    MVT::v32i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 101|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 55,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_hf_f8),
                   MVT::v64i32, 2, 0, 1,
  24,
   OPC_CheckChild0Integer, 70|128,41,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabs_qf16_hf),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabs_qf16_hf),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 71|128,41,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabs_qf16_hf),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 72|128,41,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabs_qf16_qf16),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabs_qf16_qf16),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 73|128,41,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabs_qf16_qf16),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 74|128,41,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabs_qf32_qf32),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabs_qf32_qf32),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 75|128,41,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabs_qf32_qf32),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 76|128,41,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabs_qf32_sf),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabs_qf32_sf),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 77|128,41,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabs_qf32_sf),
                   MVT::v32i32, 1, 0,
  30,
   OPC_CheckChild0Integer, 66|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 100,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_valign4),
                    MVT::v16i32, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 101,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_valign4),
                    MVT::v16i32, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 67|128,42,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 102,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_valign4),
                   MVT::v32i32, 3, 0, 1, 2,
  24,
   OPC_CheckChild0Integer, 58|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_bf_qf32),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_bf_qf32),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 59|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_bf_qf32),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 60|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_f8_qf16),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_f8_qf16),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 61|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_f8_qf16),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 64|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 100,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_h_hf_rnd),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 101,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_h_hf_rnd),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 65|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 102,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_h_hf_rnd),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 72|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_qf16_f8),
                    MVT::v32i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_qf16_f8),
                    MVT::v32i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 73|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_qf16_f8),
                   MVT::v64i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 74|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_qf16_hf),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_qf16_hf),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 75|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_qf16_hf),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 76|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_qf16_qf16),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_qf16_qf16),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 77|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_qf16_qf16),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 78|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_qf32_qf32),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_qf32_qf32),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 79|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_qf32_qf32),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 80|128,43,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_qf32_sf),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_qf32_sf),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 81|128,43,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_qf32_sf),
                   MVT::v32i32, 1, 0,
  27,
   OPC_CheckChild0Integer, 68|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqhf),
                    MVT::v64i1, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqhf),
                    MVT::v64i1, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 69|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqhf),
                   MVT::v128i1, 2, 0, 1,
  30,
   OPC_CheckChild0Integer, 70|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqhf_and),
                    MVT::v64i1, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqhf_and),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 71|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqhf_and),
                   MVT::v128i1, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 72|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqhf_or),
                    MVT::v64i1, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqhf_or),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 73|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqhf_or),
                   MVT::v128i1, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 74|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqhf_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqhf_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 75|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqhf_xor),
                   MVT::v128i1, 3, 0, 1, 2,
  27,
   OPC_CheckChild0Integer, 76|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqsf),
                    MVT::v64i1, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqsf),
                    MVT::v64i1, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 77|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqsf),
                   MVT::v128i1, 2, 0, 1,
  30,
   OPC_CheckChild0Integer, 78|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqsf_and),
                    MVT::v64i1, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqsf_and),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 79|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqsf_and),
                   MVT::v128i1, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 80|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqsf_or),
                    MVT::v64i1, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqsf_or),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 81|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqsf_or),
                   MVT::v128i1, 3, 0, 1, 2,
  30,
   OPC_CheckChild0Integer, 82|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqsf_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   10,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqsf_xor),
                    MVT::v64i1, 3, 0, 1, 2,
   0,
  16,
   OPC_CheckChild0Integer, 83|128,44,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqsf_xor),
                   MVT::v128i1, 3, 0, 1, 2,
  24,
   OPC_CheckChild0Integer, 68|128,45,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vilog2_hf),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vilog2_hf),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 69|128,45,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vilog2_hf),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 70|128,45,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vilog2_qf16),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vilog2_qf16),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 71|128,45,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vilog2_qf16),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 72|128,45,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vilog2_qf32),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vilog2_qf32),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 73|128,45,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vilog2_qf32),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 74|128,45,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vilog2_sf),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vilog2_sf),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 75|128,45,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vilog2_sf),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 80|128,47,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vneg_qf16_hf),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vneg_qf16_hf),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 81|128,47,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vneg_qf16_hf),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 82|128,47,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vneg_qf16_qf16),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vneg_qf16_qf16),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 83|128,47,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vneg_qf16_qf16),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 84|128,47,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vneg_qf32_qf32),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vneg_qf32_qf32),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 85|128,47,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vneg_qf32_qf32),
                   MVT::v32i32, 1, 0,
  24,
   OPC_CheckChild0Integer, 86|128,47,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vneg_qf32_sf),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vneg_qf32_sf),
                    MVT::v16i32, 1, 0,
   0,
  12,
   OPC_CheckChild0Integer, 87|128,47,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vneg_qf32_sf),
                   MVT::v32i32, 1, 0,
  27,
   OPC_CheckChild0Integer, 104|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_hf_mix),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_hf_mix),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 105|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_hf_mix),
                   MVT::v32i32, 2, 0, 1,
  27,
   OPC_CheckChild0Integer, 120|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_sf_mix),
                    MVT::v16i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 33,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_sf_mix),
                    MVT::v16i32, 2, 0, 1,
   0,
  14,
   OPC_CheckChild0Integer, 121|128,48,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_sf_mix),
                   MVT::v32i32, 2, 0, 1,
  0,
 17|128,5, TARGET_VAL(ISD::ZERO_EXTEND),
  OPC_Scope, 64|128,2,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
   OPC_Scope, 0|128,2,
    OPC_MoveChild0,
    OPC_Scope, 40,
     OPC_CheckAndImm, 127|128,1,
     OPC_RecordChild0,
     OPC_CheckTypeI32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate, 73,
     OPC_MoveParent,
     OPC_CheckChild2CondCode, ISD::SETULT,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 17, 2,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_cmpbgtui),
                     MVT::i1, 2, 0, 3,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_muxii),
                     MVT::i32, 3, 4, 5, 6,
    82|128,1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 64,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
      OPC_CheckChild0Integer, 1,
      OPC_RecordChild1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckTypeI32,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 0,
      OPC_Scope, 23,
       OPC_CheckChild2CondCode, ISD::SETEQ,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::S4_ntstbit_r),
                       MVT::i1, 2, 1, 0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_muxii),
                       MVT::i32, 3, 2, 3, 4,
      23,
       OPC_CheckChild2CondCode, ISD::SETNE,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_tstbit_r),
                       MVT::i1, 2, 1, 0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_muxii),
                       MVT::i32, 3, 2, 3, 4,
      0,
     10|128,1,
      OPC_RecordChild0,
      OPC_Scope, 63,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
       OPC_CheckChild0Integer, 1,
       OPC_RecordChild1,
       OPC_CheckChild1TypeI32,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_Scope, 23,
        OPC_CheckChild2CondCode, ISD::SETEQ,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::S4_ntstbit_r),
                        MVT::i1, 2, 0, 1,
        OPC_EmitIntegerI32, 1,
        OPC_EmitIntegerI32, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_muxii),
                        MVT::i32, 3, 2, 3, 4,
       23,
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_tstbit_r),
                        MVT::i1, 2, 0, 1,
        OPC_EmitIntegerI32, 1,
        OPC_EmitIntegerI32, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_muxii),
                        MVT::i32, 3, 2, 3, 4,
       0,
      70,
       OPC_RecordChild1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
       OPC_CheckPredicate, 23,
       OPC_MoveParent,
       OPC_CheckTypeI32,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 0,
       OPC_Scope, 27,
        OPC_CheckChild2CondCode, ISD::SETEQ,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 9, 2,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::S4_ntstbit_i),
                        MVT::i1, 2, 0, 3,
        OPC_EmitIntegerI32, 1,
        OPC_EmitIntegerI32, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_muxii),
                        MVT::i32, 3, 4, 5, 6,
       27,
        OPC_CheckChild2CondCode, ISD::SETNE,
        OPC_MoveParent,
        OPC_CheckTypeI32,
        OPC_EmitConvertToTarget1,
        OPC_EmitNodeXForm, 9, 2,
        OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_tstbit_i),
                        MVT::i1, 2, 0, 3,
        OPC_EmitIntegerI32, 1,
        OPC_EmitIntegerI32, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_muxii),
                        MVT::i32, 3, 4, 5, 6,
       0,
      0,
     0,
    0,
   55,
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_RecordChild1,
    OPC_Scope, 24,
     OPC_CheckChild2CondCode, ISD::SETEQ,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_Scope, 9,
      OPC_CheckComplexPat3, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_rcmpeqi),
                      MVT::i32, 2, 0, 2,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_rcmpeq),
                      MVT::i32, 2, 0, 1,
     0,
    24,
     OPC_CheckChild2CondCode, ISD::SETNE,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_Scope, 9,
      OPC_CheckComplexPat3, /*#*/1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_rcmpneqi),
                      MVT::i32, 2, 0, 2,
     7,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_rcmpneq),
                      MVT::i32, 2, 0, 1,
     0,
    0,
   0,
  75|128,2,
   OPC_RecordChild0,
   OPC_SwitchType , 37, MVT::i64,
    OPC_Scope, 10,
     OPC_CheckChild0TypeI32,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_combineir),
                     MVT::i64, 2, 1, 0,
    23,
     OPC_CheckChild0Type, MVT::i1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                     MVT::i32, 3, 0, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_combineir),
                     MVT::i64, 2, 1, 4,
    0,
   12, MVT::i32,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_muxii),
                    MVT::i32, 3, 0, 1, 2,
   63, MVT::v4i16,
    OPC_Scope, 8,
     OPC_CheckChild0Type, MVT::v4i8,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vzxtbh),
                     MVT::v4i16, 1, 0,
    51,
     OPC_CheckChild0Type, MVT::v4i1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_mask),
                     MVT::i64, 1, 0,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitIntegerI32, 1|128,0|128,4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 3,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitIntegerI32, 1|128,0|128,4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 6,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 2, 4, 5, 7, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_andp),
                     MVT::v4i16, 2, 1, 9,
    0,
   38, MVT::v2i32,
    OPC_Scope, 8,
     OPC_CheckChild0Type, MVT::v2i16,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vzxthw),
                     MVT::v2i32, 1, 0,
    26,
     OPC_CheckChild0Type, MVT::v2i1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_mask),
                     MVT::i64, 1, 0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combineii),
                     MVT::i64, 2, 2, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_andp),
                     MVT::v2i32, 2, 1, 4,
    0,
   20, MVT::v64i16,
    OPC_CheckChild0Type, MVT::v64i8,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackub),
                     MVT::v64i16, 1, 0,
    7,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackub),
                     MVT::v64i16, 1, 0,
    0,
   9, MVT::v128i16,
    OPC_CheckChild0Type, MVT::v128i8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackub),
                    MVT::v128i16, 1, 0,
   20, MVT::v32i32,
    OPC_CheckChild0Type, MVT::v32i16,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackuh),
                     MVT::v32i32, 1, 0,
    7,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackuh),
                     MVT::v32i32, 1, 0,
    0,
   9, MVT::v64i32,
    OPC_CheckChild0Type, MVT::v64i16,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackuh),
                    MVT::v64i32, 1, 0,
   23, MVT::v2i16,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_mask),
                    MVT::i64, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_vtrunehb),
                    MVT::i32, 1, 1,
    OPC_EmitIntegerI32, 1|128,0|128,4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_andir),
                    MVT::v2i16, 2, 2, 3,
   24, MVT::v4i8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_mask),
                    MVT::i64, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_vtrunehb),
                    MVT::i32, 1, 1,
    OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_andir),
                    MVT::v4i8, 2, 2, 3,
   51, MVT::v8i8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_mask),
                    MVT::i64, 1, 0,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 3,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 6,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::i64, 5, 2, 4, 5, 7, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_andp),
                    MVT::v8i8, 2, 1, 9,
   0,
  0,
 85|128,13, TARGET_VAL(ISD::ATOMIC_STORE),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 31|128,4,
   OPC_CheckChild1TypeI32,
   OPC_Scope, 78,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_Scope, 11,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat6, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerbgp), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 3, 1,
    11,
     OPC_CheckPredicate2,
     OPC_CheckComplexPat6, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerhgp), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 3, 1,
    12,
     OPC_CheckPredicate, 15,
     OPC_CheckComplexPat6, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerigp), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 3, 1,
    11,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_storerbabs), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 3, 1,
    11,
     OPC_CheckPredicate2,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_storerhabs), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 3, 1,
    12,
     OPC_CheckPredicate, 15,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_storeriabs), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 3, 1,
    0,
   112|128,2,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 51|128,1, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckPredicate4,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_Scope, 14,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     14,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_CheckComplexPat5, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     15,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     14,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 4, 1,
     14,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 4, 1,
     15,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 4, 1,
     12,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 1,
     12,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 1,
     13,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 1,
     12,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     12,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     13,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     0,
    50|128,1, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_Scope, 14,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     14,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_CheckComplexPat5, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     15,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     14,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 4, 1,
     14,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 4, 1,
     15,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 4, 1,
     12,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 1,
     12,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 1,
     13,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 1,
     12,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     12,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     13,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     0,
    0,
   90,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_Scope, 14,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    14,
     OPC_CheckPredicate2,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    15,
     OPC_CheckPredicate, 15,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    12,
     OPC_CheckPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerb_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 2, 3, 1,
    12,
     OPC_CheckPredicate2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 2, 3, 1,
    13,
     OPC_CheckPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 2, 3, 1,
    0,
   0,
  70|128,1,
   OPC_CheckChild1Type, MVT::v4i8,
   OPC_Scope, 28,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPredicate, 15,
    OPC_Scope, 10,
     OPC_CheckComplexPat6, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerigp), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 3, 1,
    10,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_storeriabs), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 3, 1,
    0,
   2|128,1,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 61, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckPredicate4,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate, 15,
     OPC_Scope, 13,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     13,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 4, 1,
     11,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 1,
     11,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     0,
    60, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate, 15,
     OPC_Scope, 13,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     13,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 4, 1,
     11,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 1,
     11,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     0,
    0,
   32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPredicate, 15,
    OPC_Scope, 13,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 2, 3, 1,
    0,
   0,
  70|128,1,
   OPC_CheckChild1Type, MVT::v2i16,
   OPC_Scope, 28,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPredicate, 15,
    OPC_Scope, 10,
     OPC_CheckComplexPat6, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerigp), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 3, 1,
    10,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_storeriabs), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 3, 1,
    0,
   2|128,1,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 61, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckPredicate4,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate, 15,
     OPC_Scope, 13,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     13,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 4, 1,
     11,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 1,
     11,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     0,
    60, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate, 15,
     OPC_Scope, 13,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     13,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 4, 1,
     11,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 1,
     11,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     0,
    0,
   32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPredicate, 15,
    OPC_Scope, 13,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storeri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 2, 3, 1,
    0,
   0,
  69|128,1,
   OPC_CheckChild1TypeI64,
   OPC_Scope, 28,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPredicate, 31,
    OPC_Scope, 10,
     OPC_CheckComplexPat6, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerdgp), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 3, 1,
    10,
     OPC_CheckComplexPat4, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_storerdabs), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 3, 1,
    0,
   2|128,1,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 61, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckPredicate4,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate, 31,
     OPC_Scope, 13,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_CheckComplexPat4, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     13,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 4, 1,
     11,
      OPC_CheckComplexPat4, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 1,
     11,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     0,
    60, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate, 31,
     OPC_Scope, 13,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_CheckComplexPat4, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     13,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 4, 1,
     11,
      OPC_CheckComplexPat4, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 1,
     11,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     0,
    0,
   32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPredicate, 31,
    OPC_Scope, 13,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 2, 3, 1,
    0,
   0,
  70|128,1,
   OPC_CheckChild1Type, MVT::v8i8,
   OPC_Scope, 28,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPredicate, 31,
    OPC_Scope, 10,
     OPC_CheckComplexPat6, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerdgp), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 3, 1,
    10,
     OPC_CheckComplexPat4, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_storerdabs), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 3, 1,
    0,
   2|128,1,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 61, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckPredicate4,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate, 31,
     OPC_Scope, 13,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_CheckComplexPat4, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     13,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 4, 1,
     11,
      OPC_CheckComplexPat4, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 1,
     11,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     0,
    60, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate, 31,
     OPC_Scope, 13,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_CheckComplexPat4, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     13,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 4, 1,
     11,
      OPC_CheckComplexPat4, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 1,
     11,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     0,
    0,
   32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPredicate, 31,
    OPC_Scope, 13,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 2, 3, 1,
    0,
   0,
  70|128,1,
   OPC_CheckChild1Type, MVT::v4i16,
   OPC_Scope, 28,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPredicate, 31,
    OPC_Scope, 10,
     OPC_CheckComplexPat6, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerdgp), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 3, 1,
    10,
     OPC_CheckComplexPat4, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_storerdabs), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 3, 1,
    0,
   2|128,1,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 61, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckPredicate4,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate, 31,
     OPC_Scope, 13,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_CheckComplexPat4, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     13,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 4, 1,
     11,
      OPC_CheckComplexPat4, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 1,
     11,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     0,
    60, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate, 31,
     OPC_Scope, 13,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_CheckComplexPat4, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     13,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 4, 1,
     11,
      OPC_CheckComplexPat4, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 1,
     11,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     0,
    0,
   32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPredicate, 31,
    OPC_Scope, 13,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 2, 3, 1,
    0,
   0,
  70|128,1,
   OPC_CheckChild1Type, MVT::v2i32,
   OPC_Scope, 28,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPredicate, 31,
    OPC_Scope, 10,
     OPC_CheckComplexPat6, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerdgp), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 3, 1,
    10,
     OPC_CheckComplexPat4, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_storerdabs), 0|OPFL_Chain|OPFL_MemRefs,
                     2, 3, 1,
    0,
   2|128,1,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 61, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckPredicate4,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate, 31,
     OPC_Scope, 13,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_CheckComplexPat4, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     13,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 4, 1,
     11,
      OPC_CheckComplexPat4, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 1,
     11,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     0,
    60, TARGET_VAL(ISD::ADD),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate, 31,
     OPC_Scope, 13,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_CheckComplexPat4, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 4, 5, 1,
     13,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_CheckComplexPat0, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 5, 4, 1,
     11,
      OPC_CheckComplexPat4, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 2, 4, 1,
     11,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      3, 3, 4, 1,
     0,
    0,
   32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPredicate, 31,
    OPC_Scope, 13,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 3, 4, 1,
    11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo0, TARGET_VAL(Hexagon::S2_storerd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 2, 3, 1,
    0,
   0,
  0,
 46|128,29, TARGET_VAL(ISD::XOR),
  OPC_Scope, 49,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 20,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_xor_andn),
                    MVT::i32, 3, 0, 1, 2,
   20,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_xor_andn),
                    MVT::i32, 3, 0, 2, 1,
   0,
  50,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 21,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_xor_andn),
                    MVT::i32, 3, 2, 0, 1,
   21,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_xor_andn),
                    MVT::i32, 3, 2, 1, 0,
   0,
  12|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 41, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 15,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_r_xacc),
                     MVT::i32, 3, 0, 1, 3,
    15,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_p_xacc),
                     MVT::i64, 3, 0, 1, 3,
    0,
   41, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 15,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_r_xacc),
                     MVT::i32, 3, 0, 1, 3,
    15,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_p_xacc),
                     MVT::i64, 3, 0, 1, 3,
    0,
   45, TARGET_VAL(ISD::ROTL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 17,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 30,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_r_xacc),
                     MVT::i32, 3, 0, 1, 3,
    17,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 30,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_p_xacc),
                     MVT::i64, 3, 0, 1, 3,
    0,
   0,
  17|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 43, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 16,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_r_xacc),
                     MVT::i32, 3, 2, 0, 3,
    16,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_p_xacc),
                     MVT::i64, 3, 2, 0, 3,
    0,
   43, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 16,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_r_xacc),
                     MVT::i32, 3, 2, 0, 3,
    16,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_p_xacc),
                     MVT::i64, 3, 2, 0, 3,
    0,
   47, TARGET_VAL(ISD::ROTL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 18,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 30,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_r_xacc),
                     MVT::i32, 3, 2, 0, 3,
    18,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI64,
     OPC_CheckPatternPredicate, 30,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_p_xacc),
                     MVT::i64, 3, 2, 0, 3,
    0,
   0,
  55,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 14, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_p_xor),
                    MVT::i64, 3, 0, 1, 2,
   14, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_p_xor),
                    MVT::i64, 3, 0, 1, 2,
   14, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_p_xor),
                    MVT::i64, 3, 0, 1, 2,
   0,
  57,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 15, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_p_xor),
                    MVT::i64, 3, 2, 0, 1,
   15, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_p_xor),
                    MVT::i64, 3, 2, 0, 1,
   15, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_p_xor),
                    MVT::i64, 3, 2, 0, 1,
   0,
  18,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_CheckChild0Integer, 1,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_togglebit_r),
                   MVT::i32, 2, 0, 1,
  18,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_CheckChild0Integer, 1,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_togglebit_r),
                   MVT::i32, 2, 1, 0,
  98|128,1,
   OPC_RecordChild0,
   OPC_Scope, 123,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 14,
     OPC_CheckPredicate, 23,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitNodeXForm, 9, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_togglebit_i),
                     MVT::i32, 2, 0, 2,
    48,
     OPC_CheckPredicate, 55,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 3,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 6,
     OPC_EmitNodeXForm, 14, 1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_togglebit_i),
                     MVT::i32, 2, 7, 8,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 2, 4, 5, 9, 10,
    51,
     OPC_CheckPredicate, 56,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 3,
     OPC_EmitNodeXForm, 14, 1,
     OPC_EmitNodeXForm, 15, 5,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_togglebit_i),
                     MVT::i32, 2, 4, 6,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 9,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 2, 7, 8, 10, 11,
    0,
   31,
    OPC_CheckChild1Integer, 127,
    OPC_SwitchType , 6, MVT::i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                     MVT::i1, 1, 0,
    9, MVT::i32,
     OPC_EmitIntegerI32, 127,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_subri),
                     MVT::i32, 2, 1, 0,
    6, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_notp),
                     MVT::i64, 1, 0,
    0,
   66,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 14, TARGET_VAL(ISD::AND),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckPredicate, 44,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_xor_and),
                     MVT::i32, 3, 0, 1, 2,
    14, TARGET_VAL(ISD::OR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckPredicate, 44,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_xor_or),
                     MVT::i32, 3, 0, 1, 2,
    26, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_SwitchType , 8, MVT::i32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_xor_xacc),
                      MVT::i32, 3, 0, 1, 2,
     8, MVT::i64,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_xor_xacc),
                      MVT::i64, 3, 0, 1, 2,
     0,
    0,
   0,
  69,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 15, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate, 44,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_xor_and),
                    MVT::i32, 3, 2, 0, 1,
   15, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate, 44,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_xor_or),
                    MVT::i32, 3, 2, 0, 1,
   27, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 8, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_xor_xacc),
                     MVT::i32, 3, 2, 0, 1,
    8, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M4_xor_xacc),
                     MVT::i64, 3, 2, 0, 1,
    0,
   0,
  4|128,1,
   OPC_RecordChild0,
   OPC_Scope, 30,
    OPC_RecordChild1,
    OPC_SwitchType , 7, MVT::i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_xor),
                     MVT::i1, 2, 0, 1,
    7, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_xor),
                     MVT::i32, 2, 0, 1,
    7, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_xorp),
                     MVT::i64, 2, 0, 1,
    0,
   97,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_CheckChild0Integer, 127,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_SwitchType , 18, MVT::v64i8,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnot),
                      MVT::v64i8, 1, 0,
     7,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnot),
                      MVT::v64i8, 1, 0,
     0,
    7, MVT::v128i8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnot),
                     MVT::v128i8, 1, 0,
    18, MVT::v32i16,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnot),
                      MVT::v32i16, 1, 0,
     7,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnot),
                      MVT::v32i16, 1, 0,
     0,
    7, MVT::v64i16,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnot),
                     MVT::v64i16, 1, 0,
    18, MVT::v16i32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnot),
                      MVT::v16i32, 1, 0,
     7,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnot),
                      MVT::v16i32, 1, 0,
     0,
    7, MVT::v32i32,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnot),
                     MVT::v32i32, 1, 0,
    0,
   0,
  98,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 18, MVT::v64i8,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnot),
                     MVT::v64i8, 1, 0,
    7,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnot),
                     MVT::v64i8, 1, 0,
    0,
   7, MVT::v128i8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnot),
                    MVT::v128i8, 1, 0,
   18, MVT::v32i16,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnot),
                     MVT::v32i16, 1, 0,
    7,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnot),
                     MVT::v32i16, 1, 0,
    0,
   7, MVT::v64i16,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnot),
                    MVT::v64i16, 1, 0,
   18, MVT::v16i32,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnot),
                     MVT::v16i32, 1, 0,
    7,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnot),
                     MVT::v16i32, 1, 0,
    0,
   7, MVT::v32i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vnot),
                    MVT::v32i32, 1, 0,
   0,
  125,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_Scope, 89,
    OPC_CheckImmAllOnesV,
    OPC_MoveParent,
    OPC_SwitchType , 26, MVT::v64i1,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v64i1, 1, 0,
     7,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v64i1, 1, 0,
     7,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v64i1, 1, 0,
     0,
    7, MVT::v128i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                     MVT::v128i1, 1, 0,
    26, MVT::v32i1,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v32i1, 1, 0,
     7,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v32i1, 1, 0,
     7,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v32i1, 1, 0,
     0,
    18, MVT::v16i1,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v16i1, 1, 0,
     7,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v16i1, 1, 0,
     0,
    0,
   30,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_SwitchType , 6, MVT::v2i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                     MVT::v2i1, 1, 0,
    6, MVT::v4i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                     MVT::v4i1, 1, 0,
    6, MVT::v8i1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                     MVT::v8i1, 1, 0,
    0,
   0,
  32,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 6, MVT::v2i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                    MVT::v2i1, 1, 0,
   6, MVT::v4i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                    MVT::v4i1, 1, 0,
   6, MVT::v8i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_not),
                    MVT::v8i1, 1, 0,
   0,
  81|128,8,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 88, TARGET_VAL(HexagonISD::QTRUE),
    OPC_MoveParent,
    OPC_SwitchType , 26, MVT::v64i1,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v64i1, 1, 0,
     7,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v64i1, 1, 0,
     7,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v64i1, 1, 0,
     0,
    7, MVT::v128i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                     MVT::v128i1, 1, 0,
    26, MVT::v32i1,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v32i1, 1, 0,
     7,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v32i1, 1, 0,
     7,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v32i1, 1, 0,
     0,
    18, MVT::v16i1,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v16i1, 1, 0,
     7,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v16i1, 1, 0,
     0,
    0,
   110|128,7, TARGET_VAL(ISD::SETCC),
    OPC_RecordChild0,
    OPC_Scope, 89,
     OPC_CheckChild0Type, MVT::v64i8,
     OPC_RecordChild1,
     OPC_Scope, 27,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i1,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_xor),
                       MVT::v64i1, 3, 0, 1, 2,
      9,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_xor),
                       MVT::v64i1, 3, 0, 1, 2,
      0,
     27,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i1,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_xor),
                       MVT::v64i1, 3, 0, 1, 2,
      9,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_xor),
                       MVT::v64i1, 3, 0, 1, 2,
      0,
     27,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i1,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_xor),
                       MVT::v64i1, 3, 0, 1, 2,
      9,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_xor),
                       MVT::v64i1, 3, 0, 1, 2,
      0,
     0,
    50,
     OPC_CheckChild0Type, MVT::v128i8,
     OPC_RecordChild1,
     OPC_Scope, 14,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckType, MVT::v128i1,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_xor),
                      MVT::v128i1, 3, 0, 1, 2,
     14,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v128i1,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_xor),
                      MVT::v128i1, 3, 0, 1, 2,
     14,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v128i1,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_xor),
                      MVT::v128i1, 3, 0, 1, 2,
     0,
    89,
     OPC_CheckChild0Type, MVT::v32i16,
     OPC_RecordChild1,
     OPC_Scope, 27,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i1,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                       MVT::v32i1, 3, 0, 1, 2,
      9,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                       MVT::v32i1, 3, 0, 1, 2,
      0,
     27,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i1,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_xor),
                       MVT::v32i1, 3, 0, 1, 2,
      9,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_xor),
                       MVT::v32i1, 3, 0, 1, 2,
      0,
     27,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i1,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_xor),
                       MVT::v32i1, 3, 0, 1, 2,
      9,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_xor),
                       MVT::v32i1, 3, 0, 1, 2,
      0,
     0,
    50,
     OPC_CheckChild0Type, MVT::v64i16,
     OPC_RecordChild1,
     OPC_Scope, 14,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i1,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                      MVT::v64i1, 3, 0, 1, 2,
     14,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i1,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_xor),
                      MVT::v64i1, 3, 0, 1, 2,
     14,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i1,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_xor),
                      MVT::v64i1, 3, 0, 1, 2,
     0,
    89,
     OPC_CheckChild0Type, MVT::v16i32,
     OPC_RecordChild1,
     OPC_Scope, 27,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                       MVT::v16i1, 3, 0, 1, 2,
      9,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                       MVT::v16i1, 3, 0, 1, 2,
      0,
     27,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_xor),
                       MVT::v16i1, 3, 0, 1, 2,
      9,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_xor),
                       MVT::v16i1, 3, 0, 1, 2,
      0,
     27,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_xor),
                       MVT::v16i1, 3, 0, 1, 2,
      9,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_xor),
                       MVT::v16i1, 3, 0, 1, 2,
      0,
     0,
    50,
     OPC_CheckChild0Type, MVT::v32i32,
     OPC_RecordChild1,
     OPC_Scope, 14,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i1,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                      MVT::v32i1, 3, 0, 1, 2,
     14,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i1,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_xor),
                      MVT::v32i1, 3, 0, 1, 2,
     14,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i1,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_xor),
                      MVT::v32i1, 3, 0, 1, 2,
     0,
    57|128,1,
     OPC_CheckChild0Type, MVT::v32f16,
     OPC_RecordChild1,
     OPC_Scope, 29,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i1,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                       MVT::v32i1, 3, 0, 1, 2,
      10,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                       MVT::v32i1, 3, 0, 1, 2,
      0,
     29,
      OPC_CheckChild2CondCode, ISD::SETOEQ,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i1,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                       MVT::v32i1, 3, 0, 1, 2,
      10,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                       MVT::v32i1, 3, 0, 1, 2,
      0,
     29,
      OPC_CheckChild2CondCode, ISD::SETUEQ,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i1,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                       MVT::v32i1, 3, 0, 1, 2,
      10,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                       MVT::v32i1, 3, 0, 1, 2,
      0,
     29,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i1,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_xor),
                       MVT::v32i1, 3, 0, 1, 2,
      10,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_xor),
                       MVT::v32i1, 3, 0, 1, 2,
      0,
     29,
      OPC_CheckChild2CondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i1,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_xor),
                       MVT::v32i1, 3, 0, 1, 2,
      10,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_xor),
                       MVT::v32i1, 3, 0, 1, 2,
      0,
     29,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i1,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_xor),
                       MVT::v32i1, 3, 0, 1, 2,
      10,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_xor),
                       MVT::v32i1, 3, 0, 1, 2,
      0,
     0,
    101,
     OPC_CheckChild0Type, MVT::v64f16,
     OPC_RecordChild1,
     OPC_Scope, 15,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i1,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                      MVT::v64i1, 3, 0, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETOEQ,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i1,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                      MVT::v64i1, 3, 0, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETUEQ,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i1,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                      MVT::v64i1, 3, 0, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i1,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_xor),
                      MVT::v64i1, 3, 0, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i1,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_xor),
                      MVT::v64i1, 3, 0, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i1,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_xor),
                      MVT::v64i1, 3, 0, 1, 2,
     0,
    58|128,1,
     OPC_CheckChild0Type, 13|128,1,
     OPC_RecordChild1,
     OPC_Scope, 29,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                       MVT::v16i1, 3, 0, 1, 2,
      10,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                       MVT::v16i1, 3, 0, 1, 2,
      0,
     29,
      OPC_CheckChild2CondCode, ISD::SETOEQ,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                       MVT::v16i1, 3, 0, 1, 2,
      10,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                       MVT::v16i1, 3, 0, 1, 2,
      0,
     29,
      OPC_CheckChild2CondCode, ISD::SETUEQ,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                       MVT::v16i1, 3, 0, 1, 2,
      10,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                       MVT::v16i1, 3, 0, 1, 2,
      0,
     29,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_xor),
                       MVT::v16i1, 3, 0, 1, 2,
      10,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_xor),
                       MVT::v16i1, 3, 0, 1, 2,
      0,
     29,
      OPC_CheckChild2CondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_xor),
                       MVT::v16i1, 3, 0, 1, 2,
      10,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_xor),
                       MVT::v16i1, 3, 0, 1, 2,
      0,
     29,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_xor),
                       MVT::v16i1, 3, 0, 1, 2,
      10,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_xor),
                       MVT::v16i1, 3, 0, 1, 2,
      0,
     0,
    102,
     OPC_CheckChild0Type, 14|128,1,
     OPC_RecordChild1,
     OPC_Scope, 15,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i1,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                      MVT::v32i1, 3, 0, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETOEQ,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i1,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                      MVT::v32i1, 3, 0, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETUEQ,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i1,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                      MVT::v32i1, 3, 0, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i1,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_xor),
                      MVT::v32i1, 3, 0, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i1,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_xor),
                      MVT::v32i1, 3, 0, 1, 2,
     15,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i1,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_xor),
                      MVT::v32i1, 3, 0, 1, 2,
     0,
    0,
   0,
  123|128,8,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 89, TARGET_VAL(HexagonISD::QTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 26, MVT::v64i1,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v64i1, 1, 0,
     7,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v64i1, 1, 0,
     7,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v64i1, 1, 0,
     0,
    7, MVT::v128i1,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                     MVT::v128i1, 1, 0,
    26, MVT::v32i1,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v32i1, 1, 0,
     7,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v32i1, 1, 0,
     7,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v32i1, 1, 0,
     0,
    18, MVT::v16i1,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v16i1, 1, 0,
     7,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_not),
                      MVT::v16i1, 1, 0,
     0,
    0,
   24|128,8, TARGET_VAL(ISD::SETCC),
    OPC_RecordChild0,
    OPC_Scope, 92,
     OPC_CheckChild0Type, MVT::v64i8,
     OPC_RecordChild1,
     OPC_Scope, 28,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v64i1,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_xor),
                       MVT::v64i1, 3, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_xor),
                       MVT::v64i1, 3, 2, 0, 1,
      0,
     28,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v64i1,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_xor),
                       MVT::v64i1, 3, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_xor),
                       MVT::v64i1, 3, 2, 0, 1,
      0,
     28,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v64i1,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_xor),
                       MVT::v64i1, 3, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_xor),
                       MVT::v64i1, 3, 2, 0, 1,
      0,
     0,
    53,
     OPC_CheckChild0Type, MVT::v128i8,
     OPC_RecordChild1,
     OPC_Scope, 15,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v128i1,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqb_xor),
                      MVT::v128i1, 3, 2, 0, 1,
     15,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v128i1,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtb_xor),
                      MVT::v128i1, 3, 2, 0, 1,
     15,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v128i1,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtub_xor),
                      MVT::v128i1, 3, 2, 0, 1,
     0,
    92,
     OPC_CheckChild0Type, MVT::v32i16,
     OPC_RecordChild1,
     OPC_Scope, 28,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v32i1,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                       MVT::v32i1, 3, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                       MVT::v32i1, 3, 2, 0, 1,
      0,
     28,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v32i1,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_xor),
                       MVT::v32i1, 3, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_xor),
                       MVT::v32i1, 3, 2, 0, 1,
      0,
     28,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v32i1,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_xor),
                       MVT::v32i1, 3, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_xor),
                       MVT::v32i1, 3, 2, 0, 1,
      0,
     0,
    53,
     OPC_CheckChild0Type, MVT::v64i16,
     OPC_RecordChild1,
     OPC_Scope, 15,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v64i1,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                      MVT::v64i1, 3, 2, 0, 1,
     15,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v64i1,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgth_xor),
                      MVT::v64i1, 3, 2, 0, 1,
     15,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v64i1,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuh_xor),
                      MVT::v64i1, 3, 2, 0, 1,
     0,
    92,
     OPC_CheckChild0Type, MVT::v16i32,
     OPC_RecordChild1,
     OPC_Scope, 28,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                       MVT::v16i1, 3, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                       MVT::v16i1, 3, 2, 0, 1,
      0,
     28,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_xor),
                       MVT::v16i1, 3, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_xor),
                       MVT::v16i1, 3, 2, 0, 1,
      0,
     28,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_xor),
                       MVT::v16i1, 3, 2, 0, 1,
      9,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_xor),
                       MVT::v16i1, 3, 2, 0, 1,
      0,
     0,
    53,
     OPC_CheckChild0Type, MVT::v32i32,
     OPC_RecordChild1,
     OPC_Scope, 15,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v32i1,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                      MVT::v32i1, 3, 2, 0, 1,
     15,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v32i1,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtw_xor),
                      MVT::v32i1, 3, 2, 0, 1,
     15,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v32i1,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtuw_xor),
                      MVT::v32i1, 3, 2, 0, 1,
     0,
    63|128,1,
     OPC_CheckChild0Type, MVT::v32f16,
     OPC_RecordChild1,
     OPC_Scope, 30,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v32i1,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                       MVT::v32i1, 3, 2, 0, 1,
      10,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                       MVT::v32i1, 3, 2, 0, 1,
      0,
     30,
      OPC_CheckChild2CondCode, ISD::SETOEQ,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v32i1,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                       MVT::v32i1, 3, 2, 0, 1,
      10,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                       MVT::v32i1, 3, 2, 0, 1,
      0,
     30,
      OPC_CheckChild2CondCode, ISD::SETUEQ,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v32i1,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                       MVT::v32i1, 3, 2, 0, 1,
      10,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                       MVT::v32i1, 3, 2, 0, 1,
      0,
     30,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v32i1,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_xor),
                       MVT::v32i1, 3, 2, 0, 1,
      10,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_xor),
                       MVT::v32i1, 3, 2, 0, 1,
      0,
     30,
      OPC_CheckChild2CondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v32i1,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_xor),
                       MVT::v32i1, 3, 2, 0, 1,
      10,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_xor),
                       MVT::v32i1, 3, 2, 0, 1,
      0,
     30,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v32i1,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_xor),
                       MVT::v32i1, 3, 2, 0, 1,
      10,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_xor),
                       MVT::v32i1, 3, 2, 0, 1,
      0,
     0,
    107,
     OPC_CheckChild0Type, MVT::v64f16,
     OPC_RecordChild1,
     OPC_Scope, 16,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v64i1,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                      MVT::v64i1, 3, 2, 0, 1,
     16,
      OPC_CheckChild2CondCode, ISD::SETOEQ,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v64i1,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                      MVT::v64i1, 3, 2, 0, 1,
     16,
      OPC_CheckChild2CondCode, ISD::SETUEQ,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v64i1,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqh_xor),
                      MVT::v64i1, 3, 2, 0, 1,
     16,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v64i1,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_xor),
                      MVT::v64i1, 3, 2, 0, 1,
     16,
      OPC_CheckChild2CondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v64i1,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_xor),
                      MVT::v64i1, 3, 2, 0, 1,
     16,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v64i1,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgthf_xor),
                      MVT::v64i1, 3, 2, 0, 1,
     0,
    64|128,1,
     OPC_CheckChild0Type, 13|128,1,
     OPC_RecordChild1,
     OPC_Scope, 30,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                       MVT::v16i1, 3, 2, 0, 1,
      10,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                       MVT::v16i1, 3, 2, 0, 1,
      0,
     30,
      OPC_CheckChild2CondCode, ISD::SETOEQ,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                       MVT::v16i1, 3, 2, 0, 1,
      10,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                       MVT::v16i1, 3, 2, 0, 1,
      0,
     30,
      OPC_CheckChild2CondCode, ISD::SETUEQ,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                       MVT::v16i1, 3, 2, 0, 1,
      10,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                       MVT::v16i1, 3, 2, 0, 1,
      0,
     30,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_xor),
                       MVT::v16i1, 3, 2, 0, 1,
      10,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_xor),
                       MVT::v16i1, 3, 2, 0, 1,
      0,
     30,
      OPC_CheckChild2CondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_xor),
                       MVT::v16i1, 3, 2, 0, 1,
      10,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_xor),
                       MVT::v16i1, 3, 2, 0, 1,
      0,
     30,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_Scope, 10,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_xor),
                       MVT::v16i1, 3, 2, 0, 1,
      10,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_xor),
                       MVT::v16i1, 3, 2, 0, 1,
      0,
     0,
    108,
     OPC_CheckChild0Type, 14|128,1,
     OPC_RecordChild1,
     OPC_Scope, 16,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v32i1,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                      MVT::v32i1, 3, 2, 0, 1,
     16,
      OPC_CheckChild2CondCode, ISD::SETOEQ,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v32i1,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                      MVT::v32i1, 3, 2, 0, 1,
     16,
      OPC_CheckChild2CondCode, ISD::SETUEQ,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v32i1,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_veqw_xor),
                      MVT::v32i1, 3, 2, 0, 1,
     16,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v32i1,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_xor),
                      MVT::v32i1, 3, 2, 0, 1,
     16,
      OPC_CheckChild2CondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v32i1,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_xor),
                      MVT::v32i1, 3, 2, 0, 1,
     16,
      OPC_CheckChild2CondCode, ISD::SETUGT,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v32i1,
      OPC_CheckPatternPredicate, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vgtsf_xor),
                      MVT::v32i1, 3, 2, 0, 1,
     0,
    0,
   0,
  10|128,2,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 7, MVT::v2i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_xor),
                    MVT::v2i1, 2, 0, 1,
   7, MVT::v4i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_xor),
                    MVT::v4i1, 2, 0, 1,
   7, MVT::v8i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_xor),
                    MVT::v8i1, 2, 0, 1,
   7, MVT::v4i8,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_xor),
                    MVT::v4i8, 2, 0, 1,
   7, MVT::v2i16,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_xor),
                    MVT::v2i16, 2, 0, 1,
   7, MVT::v8i8,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_xorp),
                    MVT::v8i8, 2, 0, 1,
   7, MVT::v4i16,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_xorp),
                    MVT::v4i16, 2, 0, 1,
   7, MVT::v2i32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_xorp),
                    MVT::v2i32, 2, 0, 1,
   20, MVT::v64i8,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vxor),
                     MVT::v64i8, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vxor),
                     MVT::v64i8, 2, 0, 1,
    0,
   8, MVT::v128i8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vxor),
                    MVT::v128i8, 2, 0, 1,
   20, MVT::v32i16,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vxor),
                     MVT::v32i16, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vxor),
                     MVT::v32i16, 2, 0, 1,
    0,
   8, MVT::v64i16,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vxor),
                    MVT::v64i16, 2, 0, 1,
   20, MVT::v16i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vxor),
                     MVT::v16i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vxor),
                     MVT::v16i32, 2, 0, 1,
    0,
   8, MVT::v32i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vxor),
                    MVT::v32i32, 2, 0, 1,
   29, MVT::v64i1,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_xor),
                     MVT::v64i1, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_xor),
                     MVT::v64i1, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_xor),
                     MVT::v64i1, 2, 0, 1,
    0,
   8, MVT::v128i1,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_xor),
                    MVT::v128i1, 2, 0, 1,
   29, MVT::v32i1,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_xor),
                     MVT::v32i1, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_xor),
                     MVT::v32i1, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_xor),
                     MVT::v32i1, 2, 0, 1,
    0,
   20, MVT::v16i1,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_xor),
                     MVT::v16i1, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_pred_xor),
                     MVT::v16i1, 2, 0, 1,
    0,
   0,
  0,
 100|128,40|128,1, TARGET_VAL(ISD::LOAD),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_Scope, 28|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate6,
   OPC_Scope, 15,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate, 14,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrubgp), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
   15,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 14,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrubgp), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
   14,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrubgp), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
   14,
    OPC_CheckPredicate, 9,
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrbgp), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
   14,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrubgp), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
   14,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruhgp), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
   14,
    OPC_CheckPredicate, 9,
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrhgp), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
   14,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruhgp), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
   28,
    OPC_CheckPredicate, 13,
    OPC_SwitchType , 10, MVT::i32,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrigp), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 2,
    10, MVT::i64,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrdgp), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 1, 2,
    0,
   0,
  122|128,4,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_Scope, 68|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate6,
    OPC_Scope, 51,
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_Scope, 15,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrub_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 5, 4,
     14,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrub_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 5, 4,
     14,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadruh_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 5, 4,
     0,
    35,
     OPC_CheckPredicate, 9,
     OPC_CheckTypeI32,
     OPC_Scope, 14,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrb_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 5, 4,
     14,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrh_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 5, 4,
     0,
    51,
     OPC_CheckPredicate, 8,
     OPC_CheckTypeI32,
     OPC_Scope, 15,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrub_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 5, 4,
     14,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrub_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 5, 4,
     14,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadruh_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 5, 4,
     0,
    34,
     OPC_CheckPredicate, 13,
     OPC_SwitchType , 13, MVT::i32,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadri_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 5, 4,
     13, MVT::i64,
      OPC_CheckComplexPat4, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrd_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3, 1, 5, 4,
     0,
    0,
   68|128,1,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate6,
    OPC_Scope, 51,
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_Scope, 15,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrub_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 2, 5, 4,
     14,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrub_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 2, 5, 4,
     14,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadruh_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 2, 5, 4,
     0,
    35,
     OPC_CheckPredicate, 9,
     OPC_CheckTypeI32,
     OPC_Scope, 14,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrb_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 2, 5, 4,
     14,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrh_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 2, 5, 4,
     0,
    51,
     OPC_CheckPredicate, 8,
     OPC_CheckTypeI32,
     OPC_Scope, 15,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrub_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 2, 5, 4,
     14,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrub_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 2, 5, 4,
     14,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadruh_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 2, 5, 4,
     0,
    34,
     OPC_CheckPredicate, 13,
     OPC_SwitchType , 13, MVT::i32,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadri_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 2, 5, 4,
     13, MVT::i64,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrd_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3, 2, 5, 4,
     0,
    0,
   102|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate6,
    OPC_SwitchType , 26, MVT::i32,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitConvertToTarget2,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_ur), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 1, 6, 4,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_subri),
                     MVT::i32, 2, 5, 7,
    50|128,1, MVT::i64,
     OPC_Scope, 26,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 6, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 5, 7,
     22,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrb_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 5, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                      MVT::i64, 1, 6,
     25,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 6, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 5, 7,
     22,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrh_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 5, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                      MVT::i64, 1, 6,
     25,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadruh_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 6, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 5, 7,
     23,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadri_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 5, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                      MVT::i64, 1, 6,
     26,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadri_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 6, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 5, 7,
     0,
    0,
   0,
  85|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate6,
   OPC_SwitchType , 23, MVT::i32,
    OPC_CheckPredicate, 9,
    OPC_CheckPredicate, 14,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrubgp), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_subri),
                    MVT::i32, 2, 3, 4,
   29|128,1, MVT::i64,
    OPC_Scope, 23,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrubgp), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                     MVT::i64, 2, 3, 4,
    19,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrbgp), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                     MVT::i64, 1, 3,
    22,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrubgp), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                     MVT::i64, 2, 3, 4,
    19,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate2,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrhgp), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                     MVT::i64, 1, 3,
    22,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate2,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadruhgp), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                     MVT::i64, 2, 3, 4,
    20,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate, 15,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrigp), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                     MVT::i64, 1, 3,
    23,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate, 15,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrigp), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                     MVT::i64, 2, 3, 4,
    0,
   21, MVT::i1,
    OPC_CheckPredicate, 13,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrubgp), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::C2_cmpgtui),
                    MVT::i1, 2, 3, 4,
   0,
  64|128,3,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_Scope, 102|128,1,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate6,
    OPC_SwitchType , 26, MVT::i32,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitConvertToTarget3,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_ur), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 2, 6, 4,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_subri),
                     MVT::i32, 2, 5, 7,
    50|128,1, MVT::i64,
     OPC_Scope, 26,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 2, 6, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 5, 7,
     22,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrb_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 2, 5, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                      MVT::i64, 1, 6,
     25,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 2, 6, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 5, 7,
     22,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrh_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 2, 5, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                      MVT::i64, 1, 6,
     25,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadruh_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 2, 6, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 5, 7,
     23,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadri_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 2, 5, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                      MVT::i64, 1, 6,
     26,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadri_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 2, 6, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 5, 7,
     0,
    0,
   80|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate6,
    OPC_CheckTypeI64,
    OPC_Scope, 38,
     OPC_CheckPredicate, 10,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i32, 0,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitConvertToTarget2,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_ur), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 1, 8, 4,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 5, 6, 7, 9, 10,
    32,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitConvertToTarget2,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_ur), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 1, 6, 4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_subri),
                     MVT::i32, 2, 5, 7,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                     MVT::i64, 1, 8,
    113,
     OPC_CheckPredicate, 10,
     OPC_Scope, 35,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 8, 4,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 5, 6, 7, 9, 10,
     35,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadruh_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 8, 4,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 5, 6, 7, 9, 10,
     36,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadri_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 8, 4,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 5, 6, 7, 9, 10,
     0,
    0,
   0,
  49|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate6,
   OPC_CheckTypeI64,
   OPC_Scope, 35,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate, 14,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i32, 0,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrubgp), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::i64, 5, 3, 4, 5, 6, 7,
   29,
    OPC_CheckPredicate, 9,
    OPC_CheckPredicate, 14,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrubgp), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_subri),
                    MVT::i32, 2, 3, 4,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                    MVT::i64, 1, 5,
   104,
    OPC_CheckPredicate, 10,
    OPC_Scope, 32,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i32, 0,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrubgp), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 2,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 3, 4, 5, 6, 7,
    32,
     OPC_CheckPredicate2,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i32, 0,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadruhgp), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 2,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 3, 4, 5, 6, 7,
    33,
     OPC_CheckPredicate, 15,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i32, 0,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrigp), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 2,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 3, 4, 5, 6, 7,
    0,
   0,
  84|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 22,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckPredicate6,
   OPC_CheckTypeI64,
   OPC_Scope, 38,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate, 14,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i32, 0,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitConvertToTarget3,
    OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_ur), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 2, 8, 4,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::i64, 5, 5, 6, 7, 9, 10,
   32,
    OPC_CheckPredicate, 9,
    OPC_CheckPredicate, 14,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_ur), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 2, 6, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_subri),
                    MVT::i32, 2, 5, 7,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                    MVT::i64, 1, 8,
   113,
    OPC_CheckPredicate, 10,
    OPC_Scope, 35,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i32, 0,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitConvertToTarget3,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_ur), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 2, 8, 4,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 5, 6, 7, 9, 10,
    35,
     OPC_CheckPredicate2,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i32, 0,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitConvertToTarget3,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadruh_ur), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 2, 8, 4,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 5, 6, 7, 9, 10,
    36,
     OPC_CheckPredicate, 15,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i32, 0,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitConvertToTarget3,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadri_ur), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 2, 8, 4,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 5, 6, 7, 9, 10,
    0,
   0,
  28|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate6,
   OPC_Scope, 15,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate, 14,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::PS_loadrubabs), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
   15,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate, 14,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::PS_loadrubabs), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
   14,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::PS_loadrubabs), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
   14,
    OPC_CheckPredicate, 9,
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::PS_loadrbabs), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
   14,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::PS_loadrubabs), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
   14,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat5, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::PS_loadruhabs), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
   14,
    OPC_CheckPredicate, 9,
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat5, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::PS_loadrhabs), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
   14,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat5, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::PS_loadruhabs), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
   28,
    OPC_CheckPredicate, 13,
    OPC_SwitchType , 10, MVT::i32,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::PS_loadriabs), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 2,
    10, MVT::i64,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::PS_loadrdabs), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 1, 2,
    0,
   0,
  124|128,35,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 35|128,21, TARGET_VAL(ISD::ADD),
    OPC_Scope, 54|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate6,
     OPC_Scope, 32,
      OPC_CheckPredicate, 10,
      OPC_CheckTypeI32,
      OPC_Scope, 13,
       OPC_CheckPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 1, 2, 4,
      12,
       OPC_CheckPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 1, 2, 4,
      0,
     32,
      OPC_CheckPredicate, 8,
      OPC_CheckTypeI32,
      OPC_Scope, 13,
       OPC_CheckPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 1, 2, 4,
      12,
       OPC_CheckPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 1, 2, 4,
      0,
     15,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate1,
      OPC_CheckTypeI32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrb_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 2, 4,
     15,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate2,
      OPC_CheckTypeI32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadruh_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 2, 4,
     15,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate2,
      OPC_CheckTypeI32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadruh_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 2, 4,
     15,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_CheckTypeI32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrh_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 2, 4,
     30,
      OPC_CheckPredicate, 13,
      OPC_SwitchType , 11, MVT::i32,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 1, 2, 4,
      11, MVT::i64,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 3, 1, 2, 4,
      0,
     0,
    54|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate6,
     OPC_Scope, 32,
      OPC_CheckPredicate, 10,
      OPC_CheckTypeI32,
      OPC_Scope, 13,
       OPC_CheckPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 3, 1, 4,
      12,
       OPC_CheckPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 3, 1, 4,
      0,
     32,
      OPC_CheckPredicate, 8,
      OPC_CheckTypeI32,
      OPC_Scope, 13,
       OPC_CheckPredicate, 14,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 3, 1, 4,
      12,
       OPC_CheckPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 3, 1, 4,
      0,
     15,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate1,
      OPC_CheckTypeI32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrb_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 3, 1, 4,
     15,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate2,
      OPC_CheckTypeI32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadruh_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 3, 1, 4,
     15,
      OPC_CheckPredicate, 8,
      OPC_CheckPredicate2,
      OPC_CheckTypeI32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadruh_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 3, 1, 4,
     15,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate2,
      OPC_CheckTypeI32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrh_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 3, 1, 4,
     30,
      OPC_CheckPredicate, 13,
      OPC_SwitchType , 11, MVT::i32,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 3, 1, 4,
      11, MVT::i64,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i64, 3, 3, 1, 4,
      0,
     0,
    87|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate6,
     OPC_SwitchType , 24, MVT::i32,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 14,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 2, 5,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_subri),
                      MVT::i32, 2, 4, 6,
     37|128,1, MVT::i64,
      OPC_Scope, 49,
       OPC_CheckPredicate, 8,
       OPC_Scope, 22,
        OPC_CheckPredicate, 14,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitConvertToTarget3,
        OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3, 1, 2, 5,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                        MVT::i64, 2, 4, 6,
       21,
        OPC_CheckPredicate1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitConvertToTarget3,
        OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3, 1, 2, 5,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                        MVT::i64, 2, 4, 6,
       0,
      20,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrb_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 1, 2, 4,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                       MVT::i64, 1, 5,
      23,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadruh_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 1, 2, 5,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                       MVT::i64, 2, 4, 6,
      20,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrh_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 1, 2, 4,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                       MVT::i64, 1, 5,
      24,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate, 15,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 1, 2, 5,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                       MVT::i64, 2, 4, 6,
      21,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate, 15,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 1, 2, 4,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                       MVT::i64, 1, 5,
      0,
     0,
    87|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate6,
     OPC_SwitchType , 24, MVT::i32,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 14,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 3, 1, 5,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_subri),
                      MVT::i32, 2, 4, 6,
     37|128,1, MVT::i64,
      OPC_Scope, 49,
       OPC_CheckPredicate, 8,
       OPC_Scope, 22,
        OPC_CheckPredicate, 14,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitConvertToTarget2,
        OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3, 3, 1, 5,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                        MVT::i64, 2, 4, 6,
       21,
        OPC_CheckPredicate1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitConvertToTarget2,
        OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3, 3, 1, 5,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                        MVT::i64, 2, 4, 6,
       0,
      20,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrb_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 3, 1, 4,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                       MVT::i64, 1, 5,
      23,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget2,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadruh_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 3, 1, 5,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                       MVT::i64, 2, 4, 6,
      20,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrh_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 3, 1, 4,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                       MVT::i64, 1, 5,
      24,
       OPC_CheckPredicate, 8,
       OPC_CheckPredicate, 15,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitConvertToTarget2,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 3, 1, 5,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                       MVT::i64, 2, 4, 6,
      21,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate, 15,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 3, 1, 4,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                       MVT::i64, 1, 5,
      0,
     0,
    70|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_Scope, 36,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate, 14,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitConvertToTarget3,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 2, 7,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 4, 5, 6, 8, 9,
     30,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 14,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 2, 5,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_subri),
                      MVT::i32, 2, 4, 6,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                      MVT::i64, 1, 7,
     107,
      OPC_CheckPredicate, 10,
      OPC_Scope, 33,
       OPC_CheckPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitConvertToTarget3,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 1, 2, 7,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 4, 5, 6, 8, 9,
      33,
       OPC_CheckPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitConvertToTarget3,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadruh_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 1, 2, 7,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 4, 5, 6, 8, 9,
      34,
       OPC_CheckPredicate, 15,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitConvertToTarget3,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 1, 2, 7,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 4, 5, 6, 8, 9,
      0,
     0,
    70|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate6,
     OPC_CheckTypeI64,
     OPC_Scope, 36,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate, 14,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 3, 1, 7,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 4, 5, 6, 8, 9,
     30,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 14,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitConvertToTarget2,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 3, 1, 5,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_subri),
                      MVT::i32, 2, 4, 6,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                      MVT::i64, 1, 7,
     107,
      OPC_CheckPredicate, 10,
      OPC_Scope, 33,
       OPC_CheckPredicate1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitConvertToTarget2,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 3, 1, 7,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 4, 5, 6, 8, 9,
      33,
       OPC_CheckPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitConvertToTarget2,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadruh_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 3, 1, 7,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 4, 5, 6, 8, 9,
      34,
       OPC_CheckPredicate, 15,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitConvertToTarget2,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 3, 3, 1, 7,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 4, 5, 6, 8, 9,
      0,
     0,
    109|128,11,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate6,
     OPC_Scope, 27,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 14,
      OPC_CheckTypeI32,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_subri),
                      MVT::i32, 2, 5, 6,
     103,
      OPC_CheckPredicate, 8,
      OPC_CheckTypeI64,
      OPC_Scope, 24,
       OPC_CheckPredicate, 14,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 3, 4,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                       MVT::i64, 2, 5, 6,
      23,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 3, 4,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                       MVT::i64, 2, 5, 6,
      23,
       OPC_CheckPredicate2,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 3, 4,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                       MVT::i64, 2, 5, 6,
      24,
       OPC_CheckPredicate, 15,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 3, 4,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                       MVT::i64, 2, 5, 6,
      0,
     98,
      OPC_CheckPredicate, 9,
      OPC_SwitchType , 66, MVT::i64,
       OPC_Scope, 20,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_CheckComplexPat2, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 3, 4,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                        MVT::i64, 1, 5,
       20,
        OPC_CheckPredicate2,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_CheckComplexPat5, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrh_io), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 3, 4,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                        MVT::i64, 1, 5,
       21,
        OPC_CheckPredicate, 15,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_CheckComplexPat1, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 3, 4,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                        MVT::i64, 1, 5,
       0,
      24, MVT::i32,
       OPC_CheckPredicate, 14,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 4, 3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_subri),
                       MVT::i32, 2, 5, 6,
      0,
     103,
      OPC_CheckPredicate, 8,
      OPC_CheckTypeI64,
      OPC_Scope, 24,
       OPC_CheckPredicate, 14,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 4, 3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                       MVT::i64, 2, 5, 6,
      23,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 4, 3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                       MVT::i64, 2, 5, 6,
      23,
       OPC_CheckPredicate2,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 4, 3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                       MVT::i64, 2, 5, 6,
      24,
       OPC_CheckPredicate, 15,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 4, 3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                       MVT::i64, 2, 5, 6,
      0,
     69,
      OPC_CheckPredicate, 9,
      OPC_CheckTypeI64,
      OPC_Scope, 20,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 4, 3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                       MVT::i64, 1, 5,
      20,
       OPC_CheckPredicate2,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrh_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 4, 3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                       MVT::i64, 1, 5,
      21,
       OPC_CheckPredicate, 15,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 4, 3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                       MVT::i64, 1, 5,
      0,
     39,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate, 14,
      OPC_CheckTypeI64,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 5, 6, 7, 8, 9,
     33,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 14,
      OPC_CheckTypeI64,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_subri),
                      MVT::i32, 2, 5, 6,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                      MVT::i64, 1, 7,
     23|128,1,
      OPC_CheckPredicate, 10,
      OPC_CheckTypeI64,
      OPC_Scope, 35,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 3, 4,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 5, 6, 7, 8, 9,
      35,
       OPC_CheckPredicate2,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 3, 4,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 5, 6, 7, 8, 9,
      36,
       OPC_CheckPredicate, 15,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 3, 4,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 5, 6, 7, 8, 9,
      36,
       OPC_CheckPredicate, 14,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 4, 3,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 5, 6, 7, 8, 9,
      0,
     33,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 14,
      OPC_CheckTypeI64,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_subri),
                      MVT::i32, 2, 5, 6,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                      MVT::i64, 1, 7,
     114,
      OPC_CheckPredicate, 10,
      OPC_CheckTypeI64,
      OPC_Scope, 35,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 4, 3,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 5, 6, 7, 8, 9,
      35,
       OPC_CheckPredicate2,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 4, 3,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 5, 6, 7, 8, 9,
      36,
       OPC_CheckPredicate, 15,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 4, 3,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 5, 6, 7, 8, 9,
      0,
     25,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 14,
      OPC_CheckTypeI32,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_subri),
                      MVT::i32, 2, 4, 5,
     95,
      OPC_CheckPredicate, 8,
      OPC_CheckTypeI64,
      OPC_Scope, 22,
       OPC_CheckPredicate, 14,
       OPC_CheckComplexPat2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 1, 3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                       MVT::i64, 2, 4, 5,
      21,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 1, 3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                       MVT::i64, 2, 4, 5,
      21,
       OPC_CheckPredicate2,
       OPC_CheckComplexPat5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 1, 3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                       MVT::i64, 2, 4, 5,
      22,
       OPC_CheckPredicate, 15,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 1, 3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                       MVT::i64, 2, 4, 5,
      0,
     90,
      OPC_CheckPredicate, 9,
      OPC_SwitchType , 60, MVT::i64,
       OPC_Scope, 18,
        OPC_CheckPredicate1,
        OPC_CheckComplexPat2, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrb_io), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 1, 3,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                        MVT::i64, 1, 4,
       18,
        OPC_CheckPredicate2,
        OPC_CheckComplexPat5, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrh_io), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 1, 3,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                        MVT::i64, 1, 4,
       19,
        OPC_CheckPredicate, 15,
        OPC_CheckComplexPat1, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2, 1, 3,
        OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                        MVT::i64, 1, 4,
       0,
      22, MVT::i32,
       OPC_CheckPredicate, 14,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_subri),
                       MVT::i32, 2, 4, 5,
      0,
     95,
      OPC_CheckPredicate, 8,
      OPC_CheckTypeI64,
      OPC_Scope, 22,
       OPC_CheckPredicate, 14,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                       MVT::i64, 2, 4, 5,
      21,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                       MVT::i64, 2, 4, 5,
      21,
       OPC_CheckPredicate2,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                       MVT::i64, 2, 4, 5,
      22,
       OPC_CheckPredicate, 15,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                       MVT::i64, 2, 4, 5,
      0,
     63,
      OPC_CheckPredicate, 9,
      OPC_CheckTypeI64,
      OPC_Scope, 18,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                       MVT::i64, 1, 4,
      18,
       OPC_CheckPredicate2,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrh_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                       MVT::i64, 1, 4,
      19,
       OPC_CheckPredicate, 15,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                       MVT::i64, 1, 4,
      0,
     37,
      OPC_CheckPredicate, 10,
      OPC_CheckPredicate, 14,
      OPC_CheckTypeI64,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 3,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 4, 5, 6, 7, 8,
     31,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 14,
      OPC_CheckTypeI64,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_subri),
                      MVT::i32, 2, 4, 5,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                      MVT::i64, 1, 6,
     15|128,1,
      OPC_CheckPredicate, 10,
      OPC_CheckTypeI64,
      OPC_Scope, 33,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 1, 3,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 4, 5, 6, 7, 8,
      33,
       OPC_CheckPredicate2,
       OPC_CheckComplexPat5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 1, 3,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 4, 5, 6, 7, 8,
      34,
       OPC_CheckPredicate, 15,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 1, 3,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 4, 5, 6, 7, 8,
      34,
       OPC_CheckPredicate, 14,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 4, 5, 6, 7, 8,
      0,
     31,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 14,
      OPC_CheckTypeI64,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_subri),
                      MVT::i32, 2, 4, 5,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                      MVT::i64, 1, 6,
     108,
      OPC_CheckPredicate, 10,
      OPC_CheckTypeI64,
      OPC_Scope, 33,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 4, 5, 6, 7, 8,
      33,
       OPC_CheckPredicate2,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 4, 5, 6, 7, 8,
      34,
       OPC_CheckPredicate, 15,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 4, 5, 6, 7, 8,
      0,
     0,
    0,
   78|128,14, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate4,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate6,
    OPC_Scope, 27,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate, 14,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 3, 4,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_subri),
                     MVT::i32, 2, 5, 6,
    103,
     OPC_CheckPredicate, 8,
     OPC_CheckTypeI64,
     OPC_Scope, 24,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 5, 6,
     23,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 5, 6,
     23,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 5, 6,
     24,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 5, 6,
     0,
    98,
     OPC_CheckPredicate, 9,
     OPC_SwitchType , 66, MVT::i64,
      OPC_Scope, 20,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 3, 4,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                       MVT::i64, 1, 5,
      20,
       OPC_CheckPredicate2,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrh_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 3, 4,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                       MVT::i64, 1, 5,
      21,
       OPC_CheckPredicate, 15,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 3, 4,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                       MVT::i64, 1, 5,
      0,
     24, MVT::i32,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_subri),
                      MVT::i32, 2, 5, 6,
     0,
    103,
     OPC_CheckPredicate, 8,
     OPC_CheckTypeI64,
     OPC_Scope, 24,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 5, 6,
     23,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 5, 6,
     23,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 5, 6,
     24,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 5, 6,
     0,
    69,
     OPC_CheckPredicate, 9,
     OPC_CheckTypeI64,
     OPC_Scope, 20,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                      MVT::i64, 1, 5,
     20,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                      MVT::i64, 1, 5,
     21,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                      MVT::i64, 1, 5,
     0,
    39,
     OPC_CheckPredicate, 10,
     OPC_CheckPredicate, 14,
     OPC_CheckTypeI64,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i32, 0,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 3, 4,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 5, 6, 7, 8, 9,
    33,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate, 14,
     OPC_CheckTypeI64,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 3, 4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_subri),
                     MVT::i32, 2, 5, 6,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                     MVT::i64, 1, 7,
    23|128,1,
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_Scope, 35,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 5, 6, 7, 8, 9,
     35,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 5, 6, 7, 8, 9,
     36,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 5, 6, 7, 8, 9,
     36,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 5, 6, 7, 8, 9,
     0,
    33,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate, 14,
     OPC_CheckTypeI64,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_subri),
                     MVT::i32, 2, 5, 6,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                     MVT::i64, 1, 7,
    114,
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_Scope, 35,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 5, 6, 7, 8, 9,
     35,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 5, 6, 7, 8, 9,
     36,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 5, 6, 7, 8, 9,
     0,
    25,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate, 14,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_subri),
                     MVT::i32, 2, 4, 5,
    95,
     OPC_CheckPredicate, 8,
     OPC_CheckTypeI64,
     OPC_Scope, 22,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 4, 5,
     21,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 4, 5,
     21,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 4, 5,
     22,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 4, 5,
     0,
    90,
     OPC_CheckPredicate, 9,
     OPC_SwitchType , 60, MVT::i64,
      OPC_Scope, 18,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrb_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 1, 3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                       MVT::i64, 1, 4,
      18,
       OPC_CheckPredicate2,
       OPC_CheckComplexPat5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrh_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 1, 3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                       MVT::i64, 1, 4,
      19,
       OPC_CheckPredicate, 15,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 1, 3,
       OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                       MVT::i64, 1, 4,
      0,
     22, MVT::i32,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_subri),
                      MVT::i32, 2, 4, 5,
     0,
    95,
     OPC_CheckPredicate, 8,
     OPC_CheckTypeI64,
     OPC_Scope, 22,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 4, 5,
     21,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 4, 5,
     21,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 4, 5,
     22,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 4, 5,
     0,
    63,
     OPC_CheckPredicate, 9,
     OPC_CheckTypeI64,
     OPC_Scope, 18,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                      MVT::i64, 1, 4,
     18,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                      MVT::i64, 1, 4,
     19,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                      MVT::i64, 1, 4,
     0,
    37,
     OPC_CheckPredicate, 10,
     OPC_CheckPredicate, 14,
     OPC_CheckTypeI64,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i32, 0,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 3,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 4, 5, 6, 7, 8,
    31,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate, 14,
     OPC_CheckTypeI64,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_subri),
                     MVT::i32, 2, 4, 5,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                     MVT::i64, 1, 6,
    15|128,1,
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_Scope, 33,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 3,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 4, 5, 6, 7, 8,
     33,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 3,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 4, 5, 6, 7, 8,
     34,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 3,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 4, 5, 6, 7, 8,
     34,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 4, 5, 6, 7, 8,
     0,
    31,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate, 14,
     OPC_CheckTypeI64,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_subri),
                     MVT::i32, 2, 4, 5,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                     MVT::i64, 1, 6,
    33|128,1,
     OPC_CheckPredicate, 10,
     OPC_SwitchType , 105, MVT::i64,
      OPC_Scope, 33,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat2, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 4, 5, 6, 7, 8,
      33,
       OPC_CheckPredicate2,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 4, 5, 6, 7, 8,
      34,
       OPC_CheckPredicate, 15,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::i32, 0,
       OPC_EmitIntegerI32, Hexagon::isub_hi,
       OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 2, 3,
       OPC_EmitIntegerI32, Hexagon::isub_lo,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::i64, 5, 4, 5, 6, 7, 8,
      0,
     48, MVT::i32,
      OPC_Scope, 15,
       OPC_CheckPredicate, 14,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 3, 4,
      14,
       OPC_CheckPredicate1,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat2, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 3, 4,
      14,
       OPC_CheckPredicate2,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 2, 3, 4,
      0,
     0,
    35,
     OPC_CheckPredicate, 9,
     OPC_CheckTypeI32,
     OPC_Scope, 14,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     14,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     0,
    51,
     OPC_CheckPredicate, 8,
     OPC_CheckTypeI32,
     OPC_Scope, 15,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     14,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     14,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     0,
    34,
     OPC_CheckPredicate, 13,
     OPC_SwitchType , 13, MVT::i32,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     13, MVT::i64,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 3, 4,
     0,
    51,
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_Scope, 15,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
     14,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
     14,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
     0,
    35,
     OPC_CheckPredicate, 9,
     OPC_CheckTypeI32,
     OPC_Scope, 14,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
     14,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
     0,
    51,
     OPC_CheckPredicate, 8,
     OPC_CheckTypeI32,
     OPC_Scope, 15,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
     14,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
     14,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
     0,
    34,
     OPC_CheckPredicate, 13,
     OPC_SwitchType , 13, MVT::i32,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
     13, MVT::i64,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 4, 3,
     0,
    0,
   0,
  116|128,5,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate6,
   OPC_SwitchType , 49, MVT::i32,
    OPC_CheckPredicate, 9,
    OPC_CheckPredicate, 14,
    OPC_Scope, 22,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 4,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_subri),
                     MVT::i32, 2, 3, 5,
    19,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::PS_loadrubabs), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_subri),
                     MVT::i32, 2, 3, 4,
    0,
   34|128,5, MVT::i64,
    OPC_Scope, 102,
     OPC_CheckPredicate, 8,
     OPC_Scope, 24,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 3, 5,
     23,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 3, 5,
     23,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 3, 5,
     24,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 3, 5,
     0,
    68,
     OPC_CheckPredicate, 9,
     OPC_Scope, 20,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                      MVT::i64, 1, 4,
     20,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                      MVT::i64, 1, 4,
     21,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                      MVT::i64, 1, 4,
     0,
    23,
     OPC_CheckPredicate, 10,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::PS_loadrubabs), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                     MVT::i64, 2, 3, 4,
    23,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::PS_loadrubabs), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                     MVT::i64, 2, 3, 4,
    19,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::PS_loadrbabs), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                     MVT::i64, 1, 3,
    22,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::PS_loadrubabs), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                     MVT::i64, 2, 3, 4,
    19,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate2,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::PS_loadrhabs), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                     MVT::i64, 1, 3,
    22,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate2,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::PS_loadruhabs), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                     MVT::i64, 2, 3, 4,
    20,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate, 15,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::PS_loadriabs), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                     MVT::i64, 1, 3,
    23,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate, 15,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::PS_loadriabs), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                     MVT::i64, 2, 3, 4,
    38,
     OPC_CheckPredicate, 10,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i32, 0,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 6,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 3, 4, 5, 7, 8,
    32,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_subri),
                     MVT::i32, 2, 3, 5,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                     MVT::i64, 1, 6,
    113,
     OPC_CheckPredicate, 10,
     OPC_Scope, 35,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 6,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 3, 4, 5, 7, 8,
     35,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 6,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 3, 4, 5, 7, 8,
     36,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 6,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 3, 4, 5, 7, 8,
     0,
    29,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::PS_loadrubabs), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 2,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_subri),
                     MVT::i32, 2, 3, 4,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                     MVT::i64, 1, 5,
    104,
     OPC_CheckPredicate, 10,
     OPC_Scope, 32,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitNode1, TARGET_VAL(Hexagon::PS_loadrubabs), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 3, 4, 5, 6, 7,
     32,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitNode1, TARGET_VAL(Hexagon::PS_loadruhabs), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 3, 4, 5, 6, 7,
     33,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitNode1, TARGET_VAL(Hexagon::PS_loadriabs), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 3, 4, 5, 6, 7,
     0,
    0,
   21, MVT::i1,
    OPC_CheckPredicate, 13,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(Hexagon::PS_loadrubabs), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::C2_cmpgtui),
                    MVT::i1, 2, 3, 4,
   0,
  49|128,8,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 104|128,5, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate6,
    OPC_Scope, 51,
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_Scope, 15,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     14,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     14,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     0,
    35,
     OPC_CheckPredicate, 9,
     OPC_CheckTypeI32,
     OPC_Scope, 14,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     14,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     0,
    51,
     OPC_CheckPredicate, 8,
     OPC_CheckTypeI32,
     OPC_Scope, 15,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     14,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     14,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     0,
    34,
     OPC_CheckPredicate, 13,
     OPC_SwitchType , 13, MVT::i32,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     13, MVT::i64,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 3, 4,
     0,
    51,
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_Scope, 15,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
     14,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
     14,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
     0,
    35,
     OPC_CheckPredicate, 9,
     OPC_CheckTypeI32,
     OPC_Scope, 14,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
     14,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
     0,
    51,
     OPC_CheckPredicate, 8,
     OPC_CheckTypeI32,
     OPC_Scope, 15,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
     14,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
     14,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
     0,
    34,
     OPC_CheckPredicate, 13,
     OPC_SwitchType , 13, MVT::i32,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
     13, MVT::i64,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 4, 3,
     0,
    26,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate, 14,
     OPC_CheckTypeI32,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 1, 2, 4,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_subri),
                     MVT::i32, 2, 3, 5,
    52,
     OPC_CheckPredicate, 8,
     OPC_CheckTypeI64,
     OPC_Scope, 23,
      OPC_CheckPredicate, 14,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 2, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 3, 5,
     22,
      OPC_CheckPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 2, 4,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 3, 5,
     0,
    22,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate1,
     OPC_CheckTypeI64,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrb_rr), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 1, 2, 3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                     MVT::i64, 1, 4,
    25,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate2,
     OPC_CheckTypeI64,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadruh_rr), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 1, 2, 4,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                     MVT::i64, 2, 3, 5,
    22,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate2,
     OPC_CheckTypeI64,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrh_rr), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 1, 2, 3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                     MVT::i64, 1, 4,
    26,
     OPC_CheckPredicate, 8,
     OPC_CheckPredicate, 15,
     OPC_CheckTypeI64,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 1, 2, 4,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                     MVT::i64, 2, 3, 5,
    23,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate, 15,
     OPC_CheckTypeI64,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 1, 2, 3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                     MVT::i64, 1, 4,
    38,
     OPC_CheckPredicate, 10,
     OPC_CheckPredicate, 14,
     OPC_CheckTypeI64,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i32, 0,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 1, 2, 6,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 3, 4, 5, 7, 8,
    32,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate, 14,
     OPC_CheckTypeI64,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 1, 2, 4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_subri),
                     MVT::i32, 2, 3, 5,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                     MVT::i64, 1, 6,
    111,
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI64,
     OPC_Scope, 34,
      OPC_CheckPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 2, 6,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 3, 4, 5, 7, 8,
     34,
      OPC_CheckPredicate2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadruh_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 2, 6,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 3, 4, 5, 7, 8,
     35,
      OPC_CheckPredicate, 15,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L4_loadri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 3, 1, 2, 6,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 3, 4, 5, 7, 8,
     0,
    0,
   62|128,2, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate4,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate6,
    OPC_Scope, 45,
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_Scope, 13,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 3,
     12,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 3,
     12,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 3,
     0,
    31,
     OPC_CheckPredicate, 9,
     OPC_CheckTypeI32,
     OPC_Scope, 12,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 3,
     12,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 3,
     0,
    45,
     OPC_CheckPredicate, 8,
     OPC_CheckTypeI32,
     OPC_Scope, 13,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 3,
     12,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 3,
     12,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 3,
     0,
    30,
     OPC_CheckPredicate, 13,
     OPC_SwitchType , 11, MVT::i32,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 3,
     11, MVT::i64,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 1, 3,
     0,
    45,
     OPC_CheckPredicate, 10,
     OPC_CheckTypeI32,
     OPC_Scope, 13,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
     12,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
     12,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
     0,
    31,
     OPC_CheckPredicate, 9,
     OPC_CheckTypeI32,
     OPC_Scope, 12,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
     12,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
     0,
    45,
     OPC_CheckPredicate, 8,
     OPC_CheckTypeI32,
     OPC_Scope, 13,
      OPC_CheckPredicate, 14,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
     12,
      OPC_CheckPredicate1,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
     12,
      OPC_CheckPredicate2,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
     0,
    30,
     OPC_CheckPredicate, 13,
     OPC_SwitchType , 11, MVT::i32,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
     11, MVT::i64,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 2, 3,
     0,
    0,
   0,
  114|128,2,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate6,
   OPC_SwitchType , 24, MVT::i32,
    OPC_CheckPredicate, 9,
    OPC_CheckPredicate, 14,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_subri),
                    MVT::i32, 2, 2, 4,
   80|128,2, MVT::i64,
    OPC_Scope, 94,
     OPC_CheckPredicate, 8,
     OPC_Scope, 22,
      OPC_CheckPredicate, 14,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 2, 4,
     21,
      OPC_CheckPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 2, 4,
     21,
      OPC_CheckPredicate2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 2, 4,
     22,
      OPC_CheckPredicate, 15,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 3,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_combineir),
                      MVT::i64, 2, 2, 4,
     0,
    62,
     OPC_CheckPredicate, 9,
     OPC_Scope, 18,
      OPC_CheckPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrb_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                      MVT::i64, 1, 3,
     18,
      OPC_CheckPredicate2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                      MVT::i64, 1, 3,
     19,
      OPC_CheckPredicate, 15,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 2,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                      MVT::i64, 1, 3,
     0,
    36,
     OPC_CheckPredicate, 10,
     OPC_CheckPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i32, 0,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 5,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 2, 3, 4, 6, 7,
    30,
     OPC_CheckPredicate, 9,
     OPC_CheckPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_subri),
                     MVT::i32, 2, 2, 4,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A2_sxtw),
                     MVT::i64, 1, 5,
    107,
     OPC_CheckPredicate, 10,
     OPC_Scope, 33,
      OPC_CheckPredicate1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 5,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 2, 3, 4, 6, 7,
     33,
      OPC_CheckPredicate2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 5,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 2, 3, 4, 6, 7,
     34,
      OPC_CheckPredicate, 15,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::i32, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 5,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::i64, 5, 2, 3, 4, 6, 7,
     0,
    0,
   0,
  65|128,2,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckPredicate6,
   OPC_Scope, 45,
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_Scope, 13,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 3,
    12,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 3,
    12,
     OPC_CheckPredicate2,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 3,
    0,
   31,
    OPC_CheckPredicate, 9,
    OPC_CheckTypeI32,
    OPC_Scope, 12,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrb_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 3,
    12,
     OPC_CheckPredicate2,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 3,
    0,
   45,
    OPC_CheckPredicate, 8,
    OPC_CheckTypeI32,
    OPC_Scope, 13,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 3,
    12,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 3,
    12,
     OPC_CheckPredicate2,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 3,
    0,
   30,
    OPC_CheckPredicate, 13,
    OPC_SwitchType , 11, MVT::i32,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 3,
    11, MVT::i64,
     OPC_CheckComplexPat4, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 1, 3,
    0,
   45,
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_Scope, 13,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    12,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    12,
     OPC_CheckPredicate2,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   31,
    OPC_CheckPredicate, 9,
    OPC_CheckTypeI32,
    OPC_Scope, 12,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrb_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    12,
     OPC_CheckPredicate2,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   45,
    OPC_CheckPredicate, 8,
    OPC_CheckTypeI32,
    OPC_Scope, 13,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    12,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    12,
     OPC_CheckPredicate2,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   30,
    OPC_CheckPredicate, 13,
    OPC_SwitchType , 11, MVT::i32,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    11, MVT::i64,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    0,
   0,
  52|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate6,
   OPC_Scope, 51,
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_Scope, 15,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    14,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    14,
     OPC_CheckPredicate2,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   35,
    OPC_CheckPredicate, 9,
    OPC_CheckTypeI32,
    OPC_Scope, 14,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrb_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    14,
     OPC_CheckPredicate2,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   51,
    OPC_CheckPredicate, 8,
    OPC_CheckTypeI32,
    OPC_Scope, 15,
     OPC_CheckPredicate, 14,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    14,
     OPC_CheckPredicate1,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    14,
     OPC_CheckPredicate2,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    0,
   34,
    OPC_CheckPredicate, 13,
    OPC_SwitchType , 13, MVT::i32,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    13, MVT::i64,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    0,
   0,
  54|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckPredicate6,
   OPC_Scope, 34,
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_Scope, 14,
     OPC_CheckPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 1, 2, 3,
    13,
     OPC_CheckPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 1, 2, 3,
    0,
   34,
    OPC_CheckPredicate, 8,
    OPC_CheckTypeI32,
    OPC_Scope, 13,
     OPC_CheckPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 1, 2, 3,
    14,
     OPC_CheckPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrub_rr), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 1, 2, 3,
    0,
   16,
    OPC_CheckPredicate, 9,
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrb_rr), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 1, 2, 3,
   16,
    OPC_CheckPredicate, 10,
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadruh_rr), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 1, 2, 3,
   16,
    OPC_CheckPredicate, 8,
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadruh_rr), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 1, 2, 3,
   16,
    OPC_CheckPredicate, 9,
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrh_rr), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 1, 2, 3,
   32,
    OPC_CheckPredicate, 13,
    OPC_SwitchType , 12, MVT::i32,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 1, 2, 3,
    12, MVT::i64,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 3, 1, 2, 3,
    0,
   0,
  32|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate6,
   OPC_Scope, 45,
    OPC_CheckPredicate, 10,
    OPC_CheckTypeI32,
    OPC_Scope, 13,
     OPC_CheckPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 2,
    12,
     OPC_CheckPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 2,
    12,
     OPC_CheckPredicate2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 2,
    0,
   31,
    OPC_CheckPredicate, 9,
    OPC_CheckTypeI32,
    OPC_Scope, 12,
     OPC_CheckPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrb_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 2,
    12,
     OPC_CheckPredicate2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 2,
    0,
   45,
    OPC_CheckPredicate, 8,
    OPC_CheckTypeI32,
    OPC_Scope, 13,
     OPC_CheckPredicate, 14,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 2,
    12,
     OPC_CheckPredicate1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 2,
    12,
     OPC_CheckPredicate2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 2,
    0,
   30,
    OPC_CheckPredicate, 13,
    OPC_SwitchType , 11, MVT::i32,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 2,
    11, MVT::i64,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 1, 2,
    0,
   0,
  51,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckPredicate6,
   OPC_CheckPredicate, 13,
   OPC_CheckType, MVT::i1,
   OPC_Scope, 17,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::C2_tfrrp),
                    MVT::i1, 1, 4,
   17,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::C2_tfrrp),
                    MVT::i1, 1, 4,
   0,
  73,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate6,
   OPC_CheckPredicate, 13,
   OPC_SwitchType , 40, MVT::i1,
    OPC_Scope, 19,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::C2_tfrrp),
                     MVT::i1, 1, 4,
    17,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNode1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 2,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::C2_tfrrp),
                     MVT::i1, 1, 3,
    0,
   10, MVT::f32,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrigp), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 1, 2,
   10, MVT::f64,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrdgp), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 1, 2,
   0,
  114,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_Scope, 53,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate6,
    OPC_CheckPredicate, 13,
    OPC_SwitchType , 13, MVT::f32,
     OPC_CheckComplexPat1, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadri_ur), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 3, 1, 5, 4,
    13, MVT::f64,
     OPC_CheckComplexPat4, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrd_ur), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 3, 1, 5, 4,
    0,
   53,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate6,
    OPC_CheckPredicate, 13,
    OPC_SwitchType , 13, MVT::f32,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadri_ur), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 3, 2, 5, 4,
    13, MVT::f64,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrd_ur), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 3, 2, 5, 4,
    0,
   0,
  31,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate6,
   OPC_CheckPredicate, 13,
   OPC_SwitchType , 10, MVT::f32,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::PS_loadriabs), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 1, 2,
   10, MVT::f64,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::PS_loadrdabs), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 1, 2,
   0,
  100|128,2,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 96|128,1, TARGET_VAL(ISD::ADD),
    OPC_Scope, 49,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate6,
     OPC_CheckPredicate, 13,
     OPC_SwitchType , 11, MVT::f32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f32, 3, 1, 2, 4,
     11, MVT::f64,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 3, 1, 2, 4,
     0,
    49,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate6,
     OPC_CheckPredicate, 13,
     OPC_SwitchType , 11, MVT::f32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f32, 3, 3, 1, 4,
     11, MVT::f64,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 3, 3, 1, 4,
     0,
    121,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate6,
     OPC_CheckPredicate, 13,
     OPC_SwitchType , 54, MVT::f32,
      OPC_Scope, 13,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f32, 2, 3, 4,
      13,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f32, 2, 4, 3,
      11,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f32, 2, 1, 3,
      11,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f32, 2, 2, 3,
      0,
     54, MVT::f64,
      OPC_Scope, 13,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat4, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f64, 2, 3, 4,
      13,
       OPC_CheckComplexPat4, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f64, 2, 4, 3,
      11,
       OPC_CheckComplexPat4, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f64, 2, 1, 3,
      11,
       OPC_CheckComplexPat4, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::f64, 2, 2, 3,
      0,
     0,
    0,
   122, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate4,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate6,
    OPC_CheckPredicate, 13,
    OPC_SwitchType , 54, MVT::f32,
     OPC_Scope, 13,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f32, 2, 3, 4,
     13,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f32, 2, 4, 3,
     11,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f32, 2, 1, 3,
     11,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f32, 2, 2, 3,
     0,
    54, MVT::f64,
     OPC_Scope, 13,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 3, 4,
     13,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 4, 3,
     11,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 1, 3,
     11,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 2, 2, 3,
     0,
    0,
   0,
  37,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate6,
   OPC_CheckPredicate, 13,
   OPC_SwitchType , 13, MVT::f32,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 2, 3,
   13, MVT::f64,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 2, 3,
   0,
  41,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckPredicate6,
   OPC_CheckPredicate, 13,
   OPC_SwitchType , 12, MVT::f32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 3, 1, 2, 3,
   12, MVT::f64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 3, 1, 2, 3,
   0,
  93,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate6,
   OPC_CheckPredicate, 13,
   OPC_SwitchType , 11, MVT::f32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 2, 1, 2,
   11, MVT::f64,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 2, 1, 2,
   10, MVT::v2i16,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrigp), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v2i16, 1, 2,
   10, MVT::v4i8,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrigp), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i8, 1, 2,
   10, MVT::v2i32,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrdgp), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v2i32, 1, 2,
   10, MVT::v4i16,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrdgp), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i16, 1, 2,
   10, MVT::v8i8,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrdgp), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v8i8, 1, 2,
   0,
  62|128,3,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_Scope, 90|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate6,
    OPC_Scope, 38,
     OPC_CheckPredicate, 10,
     OPC_SwitchType , 15, MVT::v2i16,
      OPC_CheckPredicate, 27,
      OPC_CheckComplexPat5, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadbzw2_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 3, 1, 5, 4,
     15, MVT::v4i16,
      OPC_CheckPredicate, 28,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadbzw4_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 3, 1, 5, 4,
     0,
    38,
     OPC_CheckPredicate, 9,
     OPC_SwitchType , 15, MVT::v2i16,
      OPC_CheckPredicate, 27,
      OPC_CheckComplexPat5, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadbsw2_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 3, 1, 5, 4,
     15, MVT::v4i16,
      OPC_CheckPredicate, 28,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadbsw4_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 3, 1, 5, 4,
     0,
    38,
     OPC_CheckPredicate, 8,
     OPC_SwitchType , 15, MVT::v2i16,
      OPC_CheckPredicate, 27,
      OPC_CheckComplexPat5, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadbzw2_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 3, 1, 5, 4,
     15, MVT::v4i16,
      OPC_CheckPredicate, 28,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadbzw4_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 3, 1, 5, 4,
     0,
    79,
     OPC_CheckPredicate, 13,
     OPC_SwitchType , 13, MVT::v2i16,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadri_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 3, 1, 5, 4,
     13, MVT::v4i8,
      OPC_CheckComplexPat1, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadri_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i8, 3, 1, 5, 4,
     13, MVT::v2i32,
      OPC_CheckComplexPat4, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrd_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i32, 3, 1, 5, 4,
     13, MVT::v4i16,
      OPC_CheckComplexPat4, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrd_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 3, 1, 5, 4,
     13, MVT::v8i8,
      OPC_CheckComplexPat4, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrd_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i8, 3, 1, 5, 4,
     0,
    0,
   90|128,1,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 22,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate6,
    OPC_Scope, 38,
     OPC_CheckPredicate, 10,
     OPC_SwitchType , 15, MVT::v2i16,
      OPC_CheckPredicate, 27,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadbzw2_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 3, 2, 5, 4,
     15, MVT::v4i16,
      OPC_CheckPredicate, 28,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadbzw4_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 3, 2, 5, 4,
     0,
    38,
     OPC_CheckPredicate, 9,
     OPC_SwitchType , 15, MVT::v2i16,
      OPC_CheckPredicate, 27,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadbsw2_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 3, 2, 5, 4,
     15, MVT::v4i16,
      OPC_CheckPredicate, 28,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadbsw4_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 3, 2, 5, 4,
     0,
    38,
     OPC_CheckPredicate, 8,
     OPC_SwitchType , 15, MVT::v2i16,
      OPC_CheckPredicate, 27,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadbzw2_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 3, 2, 5, 4,
     15, MVT::v4i16,
      OPC_CheckPredicate, 28,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadbzw4_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 3, 2, 5, 4,
     0,
    79,
     OPC_CheckPredicate, 13,
     OPC_SwitchType , 13, MVT::v2i16,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadri_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 3, 2, 5, 4,
     13, MVT::v4i8,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadri_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i8, 3, 2, 5, 4,
     13, MVT::v2i32,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrd_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i32, 3, 2, 5, 4,
     13, MVT::v4i16,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrd_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 3, 2, 5, 4,
     13, MVT::v8i8,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrd_ur), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i8, 3, 2, 5, 4,
     0,
    0,
   0,
  67,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate6,
   OPC_CheckPredicate, 13,
   OPC_SwitchType , 10, MVT::v2i16,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::PS_loadriabs), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v2i16, 1, 2,
   10, MVT::v4i8,
    OPC_CheckComplexPat1, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::PS_loadriabs), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i8, 1, 2,
   10, MVT::v2i32,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::PS_loadrdabs), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v2i32, 1, 2,
   10, MVT::v4i16,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::PS_loadrdabs), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i16, 1, 2,
   10, MVT::v8i8,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::PS_loadrdabs), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v8i8, 1, 2,
   0,
  91|128,17,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 62|128,9, TARGET_VAL(ISD::ADD),
    OPC_Scope, 23|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::VALIGNADDR),
     OPC_RecordChild0,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate6,
     OPC_CheckPredicate, 13,
     OPC_Scope, 1|128,1,
      OPC_CheckPredicate, 39,
      OPC_CheckPredicate, 40,
      OPC_SwitchType , 26, MVT::v64i8,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v64i8, 2, 1, 3,
       11,
        OPC_CheckPatternPredicate3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v64i8, 2, 1, 3,
       0,
      11, MVT::v128i8,
       OPC_CheckPatternPredicate4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v128i8, 2, 1, 3,
      26, MVT::v32i16,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32i16, 2, 1, 3,
       11,
        OPC_CheckPatternPredicate3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32i16, 2, 1, 3,
       0,
      11, MVT::v64i16,
       OPC_CheckPatternPredicate4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i16, 2, 1, 3,
      26, MVT::v16i32,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v16i32, 2, 1, 3,
       11,
        OPC_CheckPatternPredicate3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v16i32, 2, 1, 3,
       0,
      11, MVT::v32i32,
       OPC_CheckPatternPredicate4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i32, 2, 1, 3,
      0,
     127,
      OPC_CheckPredicate, 16,
      OPC_SwitchType , 26, MVT::v64i8,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v64i8, 2, 1, 3,
       11,
        OPC_CheckPatternPredicate3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v64i8, 2, 1, 3,
       0,
      11, MVT::v128i8,
       OPC_CheckPatternPredicate4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v128i8, 2, 1, 3,
      26, MVT::v32i16,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32i16, 2, 1, 3,
       11,
        OPC_CheckPatternPredicate3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32i16, 2, 1, 3,
       0,
      11, MVT::v64i16,
       OPC_CheckPatternPredicate4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i16, 2, 1, 3,
      26, MVT::v16i32,
       OPC_Scope, 11,
        OPC_CheckPatternPredicate2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v16i32, 2, 1, 3,
       11,
        OPC_CheckPatternPredicate3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v16i32, 2, 1, 3,
       0,
      11, MVT::v32i32,
       OPC_CheckPatternPredicate4,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i32, 2, 1, 3,
      0,
     0,
    88,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate6,
     OPC_CheckPredicate, 13,
     OPC_SwitchType , 11, MVT::v2i16,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 3, 1, 2, 4,
     11, MVT::v4i8,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i8, 3, 1, 2, 4,
     11, MVT::v2i32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i32, 3, 1, 2, 4,
     11, MVT::v4i16,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 3, 1, 2, 4,
     11, MVT::v8i8,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i8, 3, 1, 2, 4,
     0,
    88,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 22,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate6,
     OPC_CheckPredicate, 13,
     OPC_SwitchType , 11, MVT::v2i16,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 3, 3, 1, 4,
     11, MVT::v4i8,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i8, 3, 3, 1, 4,
     11, MVT::v2i32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i32, 3, 3, 1, 4,
     11, MVT::v4i16,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 3, 3, 1, 4,
     11, MVT::v8i8,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i8, 3, 3, 1, 4,
     0,
    111|128,5,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate6,
     OPC_Scope, 38,
      OPC_CheckPredicate, 10,
      OPC_SwitchType , 15, MVT::v2i16,
       OPC_CheckPredicate, 27,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i16, 2, 3, 4,
      15, MVT::v4i16,
       OPC_CheckPredicate, 28,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i16, 2, 3, 4,
      0,
     38,
      OPC_CheckPredicate, 9,
      OPC_SwitchType , 15, MVT::v2i16,
       OPC_CheckPredicate, 27,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbsw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i16, 2, 3, 4,
      15, MVT::v4i16,
       OPC_CheckPredicate, 28,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbsw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i16, 2, 3, 4,
      0,
     38,
      OPC_CheckPredicate, 8,
      OPC_SwitchType , 15, MVT::v2i16,
       OPC_CheckPredicate, 27,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i16, 2, 3, 4,
      15, MVT::v4i16,
       OPC_CheckPredicate, 28,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i16, 2, 3, 4,
      0,
     79,
      OPC_CheckPredicate, 13,
      OPC_SwitchType , 13, MVT::v2i16,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i16, 2, 3, 4,
      13, MVT::v4i8,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i8, 2, 3, 4,
      13, MVT::v2i32,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat4, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i32, 2, 3, 4,
      13, MVT::v4i16,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat4, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i16, 2, 3, 4,
      13, MVT::v8i8,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_CheckComplexPat4, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v8i8, 2, 3, 4,
      0,
     38,
      OPC_CheckPredicate, 10,
      OPC_SwitchType , 15, MVT::v2i16,
       OPC_CheckPredicate, 27,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i16, 2, 4, 3,
      15, MVT::v4i16,
       OPC_CheckPredicate, 28,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i16, 2, 4, 3,
      0,
     38,
      OPC_CheckPredicate, 9,
      OPC_SwitchType , 15, MVT::v2i16,
       OPC_CheckPredicate, 27,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbsw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i16, 2, 4, 3,
      15, MVT::v4i16,
       OPC_CheckPredicate, 28,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbsw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i16, 2, 4, 3,
      0,
     38,
      OPC_CheckPredicate, 8,
      OPC_SwitchType , 15, MVT::v2i16,
       OPC_CheckPredicate, 27,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i16, 2, 4, 3,
      15, MVT::v4i16,
       OPC_CheckPredicate, 28,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i16, 2, 4, 3,
      0,
     79,
      OPC_CheckPredicate, 13,
      OPC_SwitchType , 13, MVT::v2i16,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i16, 2, 4, 3,
      13, MVT::v4i8,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i8, 2, 4, 3,
      13, MVT::v2i32,
       OPC_CheckComplexPat4, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i32, 2, 4, 3,
      13, MVT::v4i16,
       OPC_CheckComplexPat4, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i16, 2, 4, 3,
      13, MVT::v8i8,
       OPC_CheckComplexPat4, /*#*/1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v8i8, 2, 4, 3,
      0,
     34,
      OPC_CheckPredicate, 10,
      OPC_SwitchType , 13, MVT::v2i16,
       OPC_CheckPredicate, 27,
       OPC_CheckComplexPat5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i16, 2, 1, 3,
      13, MVT::v4i16,
       OPC_CheckPredicate, 28,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i16, 2, 1, 3,
      0,
     34,
      OPC_CheckPredicate, 9,
      OPC_SwitchType , 13, MVT::v2i16,
       OPC_CheckPredicate, 27,
       OPC_CheckComplexPat5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbsw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i16, 2, 1, 3,
      13, MVT::v4i16,
       OPC_CheckPredicate, 28,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbsw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i16, 2, 1, 3,
      0,
     34,
      OPC_CheckPredicate, 8,
      OPC_SwitchType , 13, MVT::v2i16,
       OPC_CheckPredicate, 27,
       OPC_CheckComplexPat5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i16, 2, 1, 3,
      13, MVT::v4i16,
       OPC_CheckPredicate, 28,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i16, 2, 1, 3,
      0,
     69,
      OPC_CheckPredicate, 13,
      OPC_SwitchType , 11, MVT::v2i16,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i16, 2, 1, 3,
      11, MVT::v4i8,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i8, 2, 1, 3,
      11, MVT::v2i32,
       OPC_CheckComplexPat4, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i32, 2, 1, 3,
      11, MVT::v4i16,
       OPC_CheckComplexPat4, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i16, 2, 1, 3,
      11, MVT::v8i8,
       OPC_CheckComplexPat4, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v8i8, 2, 1, 3,
      0,
     34,
      OPC_CheckPredicate, 10,
      OPC_SwitchType , 13, MVT::v2i16,
       OPC_CheckPredicate, 27,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i16, 2, 2, 3,
      13, MVT::v4i16,
       OPC_CheckPredicate, 28,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i16, 2, 2, 3,
      0,
     34,
      OPC_CheckPredicate, 9,
      OPC_SwitchType , 13, MVT::v2i16,
       OPC_CheckPredicate, 27,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbsw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i16, 2, 2, 3,
      13, MVT::v4i16,
       OPC_CheckPredicate, 28,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbsw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i16, 2, 2, 3,
      0,
     34,
      OPC_CheckPredicate, 8,
      OPC_SwitchType , 13, MVT::v2i16,
       OPC_CheckPredicate, 27,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i16, 2, 2, 3,
      13, MVT::v4i16,
       OPC_CheckPredicate, 28,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i16, 2, 2, 3,
      0,
     69,
      OPC_CheckPredicate, 13,
      OPC_SwitchType , 11, MVT::v2i16,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i16, 2, 2, 3,
      11, MVT::v4i8,
       OPC_CheckComplexPat1, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i8, 2, 2, 3,
      11, MVT::v2i32,
       OPC_CheckComplexPat4, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i32, 2, 2, 3,
      11, MVT::v4i16,
       OPC_CheckComplexPat4, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i16, 2, 2, 3,
      11, MVT::v8i8,
       OPC_CheckComplexPat4, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v8i8, 2, 2, 3,
      0,
     0,
    0,
   30|128,2, TARGET_VAL(HexagonISD::VALIGNADDR),
    OPC_RecordChild0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate6,
    OPC_CheckPredicate, 13,
    OPC_Scope, 10|128,1,
     OPC_CheckPredicate, 39,
     OPC_CheckPredicate, 40,
     OPC_SwitchType , 28, MVT::v64i8,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 1, 2,
      12,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 1, 2,
      0,
     12, MVT::v128i8,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v128i8, 2, 1, 2,
     28, MVT::v32i16,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 1, 2,
      12,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 1, 2,
      0,
     12, MVT::v64i16,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i16, 2, 1, 2,
     28, MVT::v16i32,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 1, 2,
      12,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 1, 2,
      0,
     12, MVT::v32i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i32, 2, 1, 2,
     0,
    8|128,1,
     OPC_CheckPredicate, 16,
     OPC_SwitchType , 28, MVT::v64i8,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 1, 2,
      12,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 1, 2,
      0,
     12, MVT::v128i8,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v128i8, 2, 1, 2,
     28, MVT::v32i16,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 1, 2,
      12,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 1, 2,
      0,
     12, MVT::v64i16,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i16, 2, 1, 2,
     28, MVT::v16i32,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 1, 2,
      12,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 1, 2,
      0,
     12, MVT::v32i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i32, 2, 1, 2,
     0,
    0,
   112|128,5, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate4,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate6,
    OPC_Scope, 38,
     OPC_CheckPredicate, 10,
     OPC_SwitchType , 15, MVT::v2i16,
      OPC_CheckPredicate, 27,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 2, 3, 4,
     15, MVT::v4i16,
      OPC_CheckPredicate, 28,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 2, 3, 4,
     0,
    38,
     OPC_CheckPredicate, 9,
     OPC_SwitchType , 15, MVT::v2i16,
      OPC_CheckPredicate, 27,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbsw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 2, 3, 4,
     15, MVT::v4i16,
      OPC_CheckPredicate, 28,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbsw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 2, 3, 4,
     0,
    38,
     OPC_CheckPredicate, 8,
     OPC_SwitchType , 15, MVT::v2i16,
      OPC_CheckPredicate, 27,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 2, 3, 4,
     15, MVT::v4i16,
      OPC_CheckPredicate, 28,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 2, 3, 4,
     0,
    79,
     OPC_CheckPredicate, 13,
     OPC_SwitchType , 13, MVT::v2i16,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 2, 3, 4,
     13, MVT::v4i8,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i8, 2, 3, 4,
     13, MVT::v2i32,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i32, 2, 3, 4,
     13, MVT::v4i16,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 2, 3, 4,
     13, MVT::v8i8,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i8, 2, 3, 4,
     0,
    38,
     OPC_CheckPredicate, 10,
     OPC_SwitchType , 15, MVT::v2i16,
      OPC_CheckPredicate, 27,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 2, 4, 3,
     15, MVT::v4i16,
      OPC_CheckPredicate, 28,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 2, 4, 3,
     0,
    38,
     OPC_CheckPredicate, 9,
     OPC_SwitchType , 15, MVT::v2i16,
      OPC_CheckPredicate, 27,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbsw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 2, 4, 3,
     15, MVT::v4i16,
      OPC_CheckPredicate, 28,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbsw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 2, 4, 3,
     0,
    38,
     OPC_CheckPredicate, 8,
     OPC_SwitchType , 15, MVT::v2i16,
      OPC_CheckPredicate, 27,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 2, 4, 3,
     15, MVT::v4i16,
      OPC_CheckPredicate, 28,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 2, 4, 3,
     0,
    79,
     OPC_CheckPredicate, 13,
     OPC_SwitchType , 13, MVT::v2i16,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 2, 4, 3,
     13, MVT::v4i8,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i8, 2, 4, 3,
     13, MVT::v2i32,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i32, 2, 4, 3,
     13, MVT::v4i16,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 2, 4, 3,
     13, MVT::v8i8,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i8, 2, 4, 3,
     0,
    34,
     OPC_CheckPredicate, 10,
     OPC_SwitchType , 13, MVT::v2i16,
      OPC_CheckPredicate, 27,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 2, 1, 3,
     13, MVT::v4i16,
      OPC_CheckPredicate, 28,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 2, 1, 3,
     0,
    34,
     OPC_CheckPredicate, 9,
     OPC_SwitchType , 13, MVT::v2i16,
      OPC_CheckPredicate, 27,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbsw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 2, 1, 3,
     13, MVT::v4i16,
      OPC_CheckPredicate, 28,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbsw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 2, 1, 3,
     0,
    34,
     OPC_CheckPredicate, 8,
     OPC_SwitchType , 13, MVT::v2i16,
      OPC_CheckPredicate, 27,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 2, 1, 3,
     13, MVT::v4i16,
      OPC_CheckPredicate, 28,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 2, 1, 3,
     0,
    69,
     OPC_CheckPredicate, 13,
     OPC_SwitchType , 11, MVT::v2i16,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 2, 1, 3,
     11, MVT::v4i8,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i8, 2, 1, 3,
     11, MVT::v2i32,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i32, 2, 1, 3,
     11, MVT::v4i16,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 2, 1, 3,
     11, MVT::v8i8,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i8, 2, 1, 3,
     0,
    34,
     OPC_CheckPredicate, 10,
     OPC_SwitchType , 13, MVT::v2i16,
      OPC_CheckPredicate, 27,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 2, 2, 3,
     13, MVT::v4i16,
      OPC_CheckPredicate, 28,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 2, 2, 3,
     0,
    34,
     OPC_CheckPredicate, 9,
     OPC_SwitchType , 13, MVT::v2i16,
      OPC_CheckPredicate, 27,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbsw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 2, 2, 3,
     13, MVT::v4i16,
      OPC_CheckPredicate, 28,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbsw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 2, 2, 3,
     0,
    34,
     OPC_CheckPredicate, 8,
     OPC_SwitchType , 13, MVT::v2i16,
      OPC_CheckPredicate, 27,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 2, 2, 3,
     13, MVT::v4i16,
      OPC_CheckPredicate, 28,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 2, 2, 3,
     0,
    69,
     OPC_CheckPredicate, 13,
     OPC_SwitchType , 11, MVT::v2i16,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i16, 2, 2, 3,
     11, MVT::v4i8,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i8, 2, 2, 3,
     11, MVT::v2i32,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i32, 2, 2, 3,
     11, MVT::v4i16,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i16, 2, 2, 3,
     11, MVT::v8i8,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i8, 2, 2, 3,
     0,
    0,
   0,
  74|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate6,
   OPC_Scope, 38,
    OPC_CheckPredicate, 10,
    OPC_SwitchType , 15, MVT::v2i16,
     OPC_CheckPredicate, 27,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v2i16, 2, 2, 3,
    15, MVT::v4i16,
     OPC_CheckPredicate, 28,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i16, 2, 2, 3,
    0,
   38,
    OPC_CheckPredicate, 9,
    OPC_SwitchType , 15, MVT::v2i16,
     OPC_CheckPredicate, 27,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbsw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v2i16, 2, 2, 3,
    15, MVT::v4i16,
     OPC_CheckPredicate, 28,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbsw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i16, 2, 2, 3,
    0,
   38,
    OPC_CheckPredicate, 8,
    OPC_SwitchType , 15, MVT::v2i16,
     OPC_CheckPredicate, 27,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v2i16, 2, 2, 3,
    15, MVT::v4i16,
     OPC_CheckPredicate, 28,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i16, 2, 2, 3,
    0,
   79,
    OPC_CheckPredicate, 13,
    OPC_SwitchType , 13, MVT::v2i16,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v2i16, 2, 2, 3,
    13, MVT::v4i8,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i8, 2, 2, 3,
    13, MVT::v2i32,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v2i32, 2, 2, 3,
    13, MVT::v4i16,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i16, 2, 2, 3,
    13, MVT::v8i8,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i8, 2, 2, 3,
    0,
   0,
  83,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckPredicate6,
   OPC_CheckPredicate, 13,
   OPC_SwitchType , 12, MVT::v2i16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v2i16, 3, 1, 2, 3,
   12, MVT::v4i8,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadri_rr), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i8, 3, 1, 2, 3,
   12, MVT::v2i32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v2i32, 3, 1, 2, 3,
   12, MVT::v4i16,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i16, 3, 1, 2, 3,
   12, MVT::v8i8,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L4_loadrd_rr), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v8i8, 3, 1, 2, 3,
   0,
  52|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate6,
   OPC_Scope, 34,
    OPC_CheckPredicate, 10,
    OPC_SwitchType , 13, MVT::v2i16,
     OPC_CheckPredicate, 27,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v2i16, 2, 1, 2,
    13, MVT::v4i16,
     OPC_CheckPredicate, 28,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i16, 2, 1, 2,
    0,
   34,
    OPC_CheckPredicate, 9,
    OPC_SwitchType , 13, MVT::v2i16,
     OPC_CheckPredicate, 27,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbsw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v2i16, 2, 1, 2,
    13, MVT::v4i16,
     OPC_CheckPredicate, 28,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbsw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i16, 2, 1, 2,
    0,
   34,
    OPC_CheckPredicate, 8,
    OPC_SwitchType , 13, MVT::v2i16,
     OPC_CheckPredicate, 27,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw2_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v2i16, 2, 1, 2,
    13, MVT::v4i16,
     OPC_CheckPredicate, 28,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadbzw4_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i16, 2, 1, 2,
    0,
   69,
    OPC_CheckPredicate, 13,
    OPC_SwitchType , 11, MVT::v2i16,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v2i16, 2, 1, 2,
    11, MVT::v4i8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i8, 2, 1, 2,
    11, MVT::v2i32,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v2i32, 2, 1, 2,
    11, MVT::v4i16,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i16, 2, 1, 2,
    11, MVT::v8i8,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i8, 2, 1, 2,
    0,
   0,
  37|128,10,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 76|128,3, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckPredicate4,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate6,
    OPC_CheckPredicate, 13,
    OPC_Scope, 19|128,1,
     OPC_CheckPredicate, 39,
     OPC_CheckPredicate, 40,
     OPC_SwitchType , 30, MVT::v64i8,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 3, 4,
      13,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 3, 4,
      0,
     13, MVT::v128i8,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v128i8, 2, 3, 4,
     30, MVT::v32i16,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 3, 4,
      13,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 3, 4,
      0,
     13, MVT::v64i16,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i16, 2, 3, 4,
     30, MVT::v16i32,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 3, 4,
      13,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 3, 4,
      0,
     13, MVT::v32i32,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i32, 2, 3, 4,
     0,
    17|128,1,
     OPC_CheckPredicate, 16,
     OPC_SwitchType , 30, MVT::v64i8,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 3, 4,
      13,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 3, 4,
      0,
     13, MVT::v128i8,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v128i8, 2, 3, 4,
     30, MVT::v32i16,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 3, 4,
      13,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 3, 4,
      0,
     13, MVT::v64i16,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i16, 2, 3, 4,
     30, MVT::v16i32,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 3, 4,
      13,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 3, 4,
      0,
     13, MVT::v32i32,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i32, 2, 3, 4,
     0,
    17|128,1,
     OPC_CheckPredicate, 17,
     OPC_SwitchType , 30, MVT::v64i8,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 3, 4,
      13,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 3, 4,
      0,
     13, MVT::v128i8,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v128i8, 2, 3, 4,
     30, MVT::v32i16,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 3, 4,
      13,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 3, 4,
      0,
     13, MVT::v64i16,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i16, 2, 3, 4,
     30, MVT::v16i32,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 3, 4,
      13,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 3, 4,
      0,
     13, MVT::v32i32,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i32, 2, 3, 4,
     0,
    0,
   78|128,6, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate6,
    OPC_CheckPredicate, 13,
    OPC_Scope, 19|128,1,
     OPC_CheckPredicate, 39,
     OPC_CheckPredicate, 40,
     OPC_SwitchType , 30, MVT::v64i8,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 3, 4,
      13,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 3, 4,
      0,
     13, MVT::v128i8,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v128i8, 2, 3, 4,
     30, MVT::v32i16,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 3, 4,
      13,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 3, 4,
      0,
     13, MVT::v64i16,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i16, 2, 3, 4,
     30, MVT::v16i32,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 3, 4,
      13,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 3, 4,
      0,
     13, MVT::v32i32,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i32, 2, 3, 4,
     0,
    17|128,1,
     OPC_CheckPredicate, 16,
     OPC_SwitchType , 30, MVT::v64i8,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 3, 4,
      13,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 3, 4,
      0,
     13, MVT::v128i8,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v128i8, 2, 3, 4,
     30, MVT::v32i16,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 3, 4,
      13,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 3, 4,
      0,
     13, MVT::v64i16,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i16, 2, 3, 4,
     30, MVT::v16i32,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 3, 4,
      13,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 3, 4,
      0,
     13, MVT::v32i32,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i32, 2, 3, 4,
     0,
    17|128,1,
     OPC_CheckPredicate, 17,
     OPC_SwitchType , 30, MVT::v64i8,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 3, 4,
      13,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 3, 4,
      0,
     13, MVT::v128i8,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v128i8, 2, 3, 4,
     30, MVT::v32i16,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 3, 4,
      13,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 3, 4,
      0,
     13, MVT::v64i16,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i16, 2, 3, 4,
     30, MVT::v16i32,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate2,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 3, 4,
      13,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 3, 4,
      0,
     13, MVT::v32i32,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i32, 2, 3, 4,
     0,
    1|128,1,
     OPC_CheckPredicate, 39,
     OPC_CheckPredicate, 40,
     OPC_SwitchType , 26, MVT::v64i8,
      OPC_Scope, 11,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 1, 3,
      11,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 1, 3,
      0,
     11, MVT::v128i8,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v128i8, 2, 1, 3,
     26, MVT::v32i16,
      OPC_Scope, 11,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 1, 3,
      11,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 1, 3,
      0,
     11, MVT::v64i16,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i16, 2, 1, 3,
     26, MVT::v16i32,
      OPC_Scope, 11,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 1, 3,
      11,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 1, 3,
      0,
     11, MVT::v32i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i32, 2, 1, 3,
     0,
    127,
     OPC_CheckPredicate, 16,
     OPC_SwitchType , 26, MVT::v64i8,
      OPC_Scope, 11,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 1, 3,
      11,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 1, 3,
      0,
     11, MVT::v128i8,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v128i8, 2, 1, 3,
     26, MVT::v32i16,
      OPC_Scope, 11,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 1, 3,
      11,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 1, 3,
      0,
     11, MVT::v64i16,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i16, 2, 1, 3,
     26, MVT::v16i32,
      OPC_Scope, 11,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 1, 3,
      11,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 1, 3,
      0,
     11, MVT::v32i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i32, 2, 1, 3,
     0,
    127,
     OPC_CheckPredicate, 17,
     OPC_SwitchType , 26, MVT::v64i8,
      OPC_Scope, 11,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 1, 3,
      11,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 1, 3,
      0,
     11, MVT::v128i8,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v128i8, 2, 1, 3,
     26, MVT::v32i16,
      OPC_Scope, 11,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 1, 3,
      11,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 1, 3,
      0,
     11, MVT::v64i16,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i16, 2, 1, 3,
     26, MVT::v16i32,
      OPC_Scope, 11,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 1, 3,
      11,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 1, 3,
      0,
     11, MVT::v32i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i32, 2, 1, 3,
     0,
    0,
   0,
  93|128,3,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate6,
   OPC_CheckPredicate, 13,
   OPC_Scope, 28|128,1,
    OPC_CheckPredicate, 39,
    OPC_CheckPredicate, 40,
    OPC_SwitchType , 32, MVT::v64i8,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i8, 2, 2, 3,
     14,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i8, 2, 2, 3,
     0,
    14, MVT::v128i8,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v128i8, 2, 2, 3,
    32, MVT::v32i16,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i16, 2, 2, 3,
     14,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i16, 2, 2, 3,
     0,
    14, MVT::v64i16,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v64i16, 2, 2, 3,
    32, MVT::v16i32,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i32, 2, 2, 3,
     14,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i32, 2, 2, 3,
     0,
    14, MVT::v32i32,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v32i32, 2, 2, 3,
    0,
   26|128,1,
    OPC_CheckPredicate, 16,
    OPC_SwitchType , 32, MVT::v64i8,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i8, 2, 2, 3,
     14,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i8, 2, 2, 3,
     0,
    14, MVT::v128i8,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v128i8, 2, 2, 3,
    32, MVT::v32i16,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i16, 2, 2, 3,
     14,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i16, 2, 2, 3,
     0,
    14, MVT::v64i16,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v64i16, 2, 2, 3,
    32, MVT::v16i32,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i32, 2, 2, 3,
     14,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i32, 2, 2, 3,
     0,
    14, MVT::v32i32,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v32i32, 2, 2, 3,
    0,
   26|128,1,
    OPC_CheckPredicate, 17,
    OPC_SwitchType , 32, MVT::v64i8,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i8, 2, 2, 3,
     14,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i8, 2, 2, 3,
     0,
    14, MVT::v128i8,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v128i8, 2, 2, 3,
    32, MVT::v32i16,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i16, 2, 2, 3,
     14,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i16, 2, 2, 3,
     0,
    14, MVT::v64i16,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v64i16, 2, 2, 3,
    32, MVT::v16i32,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i32, 2, 2, 3,
     14,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i32, 2, 2, 3,
     0,
    14, MVT::v32i32,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v32i32, 2, 2, 3,
    0,
   0,
  93|128,9,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 105|128,4, TARGET_VAL(HexagonISD::CP),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstantPool),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate6,
    OPC_CheckPredicate, 13,
    OPC_Scope, 73|128,1,
     OPC_CheckPredicate, 39,
     OPC_CheckPredicate, 40,
     OPC_SwitchType , 42, MVT::v64i8,
      OPC_Scope, 19,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 3, 4,
      19,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 3, 4,
      0,
     19, MVT::v128i8,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v128i8, 2, 3, 4,
     42, MVT::v32i16,
      OPC_Scope, 19,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 3, 4,
      19,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 3, 4,
      0,
     19, MVT::v64i16,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i16, 2, 3, 4,
     42, MVT::v16i32,
      OPC_Scope, 19,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 3, 4,
      19,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 3, 4,
      0,
     19, MVT::v32i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i32, 2, 3, 4,
     0,
    71|128,1,
     OPC_CheckPredicate, 16,
     OPC_SwitchType , 42, MVT::v64i8,
      OPC_Scope, 19,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 3, 4,
      19,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 3, 4,
      0,
     19, MVT::v128i8,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v128i8, 2, 3, 4,
     42, MVT::v32i16,
      OPC_Scope, 19,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 3, 4,
      19,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 3, 4,
      0,
     19, MVT::v64i16,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i16, 2, 3, 4,
     42, MVT::v16i32,
      OPC_Scope, 19,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 3, 4,
      19,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 3, 4,
      0,
     19, MVT::v32i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i32, 2, 3, 4,
     0,
    71|128,1,
     OPC_CheckPredicate, 17,
     OPC_SwitchType , 42, MVT::v64i8,
      OPC_Scope, 19,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 3, 4,
      19,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 3, 4,
      0,
     19, MVT::v128i8,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v128i8, 2, 3, 4,
     42, MVT::v32i16,
      OPC_Scope, 19,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 3, 4,
      19,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 3, 4,
      0,
     19, MVT::v64i16,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i16, 2, 3, 4,
     42, MVT::v16i32,
      OPC_Scope, 19,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 3, 4,
      19,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 3, 4,
      0,
     19, MVT::v32i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i32, 2, 3, 4,
     0,
    0,
   105|128,4, TARGET_VAL(HexagonISD::AT_PCREL),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstantPool),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate6,
    OPC_CheckPredicate, 13,
    OPC_Scope, 73|128,1,
     OPC_CheckPredicate, 39,
     OPC_CheckPredicate, 40,
     OPC_SwitchType , 42, MVT::v64i8,
      OPC_Scope, 19,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 3, 4,
      19,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 3, 4,
      0,
     19, MVT::v128i8,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v128i8, 2, 3, 4,
     42, MVT::v32i16,
      OPC_Scope, 19,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 3, 4,
      19,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 3, 4,
      0,
     19, MVT::v64i16,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i16, 2, 3, 4,
     42, MVT::v16i32,
      OPC_Scope, 19,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 3, 4,
      19,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 3, 4,
      0,
     19, MVT::v32i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i32, 2, 3, 4,
     0,
    71|128,1,
     OPC_CheckPredicate, 16,
     OPC_SwitchType , 42, MVT::v64i8,
      OPC_Scope, 19,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 3, 4,
      19,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 3, 4,
      0,
     19, MVT::v128i8,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v128i8, 2, 3, 4,
     42, MVT::v32i16,
      OPC_Scope, 19,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 3, 4,
      19,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 3, 4,
      0,
     19, MVT::v64i16,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i16, 2, 3, 4,
     42, MVT::v16i32,
      OPC_Scope, 19,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 3, 4,
      19,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 3, 4,
      0,
     19, MVT::v32i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i32, 2, 3, 4,
     0,
    71|128,1,
     OPC_CheckPredicate, 17,
     OPC_SwitchType , 42, MVT::v64i8,
      OPC_Scope, 19,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 3, 4,
      19,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64i8, 2, 3, 4,
      0,
     19, MVT::v128i8,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v128i8, 2, 3, 4,
     42, MVT::v32i16,
      OPC_Scope, 19,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 3, 4,
      19,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32i16, 2, 3, 4,
      0,
     19, MVT::v64i16,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i16, 2, 3, 4,
     42, MVT::v16i32,
      OPC_Scope, 19,
       OPC_CheckPatternPredicate2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 3, 4,
      19,
       OPC_CheckPatternPredicate3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v16i32, 2, 3, 4,
      0,
     19, MVT::v32i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i32, 2, 3, 4,
     0,
    0,
   0,
  39|128,3,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate6,
   OPC_CheckPredicate, 13,
   OPC_Scope, 10|128,1,
    OPC_CheckPredicate, 39,
    OPC_CheckPredicate, 40,
    OPC_SwitchType , 28, MVT::v64i8,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i8, 2, 1, 2,
     12,
      OPC_CheckPatternPredicate3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i8, 2, 1, 2,
     0,
    12, MVT::v128i8,
     OPC_CheckPatternPredicate4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v128i8, 2, 1, 2,
    28, MVT::v32i16,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i16, 2, 1, 2,
     12,
      OPC_CheckPatternPredicate3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i16, 2, 1, 2,
     0,
    12, MVT::v64i16,
     OPC_CheckPatternPredicate4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v64i16, 2, 1, 2,
    28, MVT::v16i32,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i32, 2, 1, 2,
     12,
      OPC_CheckPatternPredicate3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i32, 2, 1, 2,
     0,
    12, MVT::v32i32,
     OPC_CheckPatternPredicate4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v32i32, 2, 1, 2,
    0,
   8|128,1,
    OPC_CheckPredicate, 16,
    OPC_SwitchType , 28, MVT::v64i8,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i8, 2, 1, 2,
     12,
      OPC_CheckPatternPredicate3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i8, 2, 1, 2,
     0,
    12, MVT::v128i8,
     OPC_CheckPatternPredicate4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v128i8, 2, 1, 2,
    28, MVT::v32i16,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i16, 2, 1, 2,
     12,
      OPC_CheckPatternPredicate3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i16, 2, 1, 2,
     0,
    12, MVT::v64i16,
     OPC_CheckPatternPredicate4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v64i16, 2, 1, 2,
    28, MVT::v16i32,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i32, 2, 1, 2,
     12,
      OPC_CheckPatternPredicate3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i32, 2, 1, 2,
     0,
    12, MVT::v32i32,
     OPC_CheckPatternPredicate4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v32i32, 2, 1, 2,
    0,
   8|128,1,
    OPC_CheckPredicate, 17,
    OPC_SwitchType , 28, MVT::v64i8,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i8, 2, 1, 2,
     12,
      OPC_CheckPatternPredicate3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64i8, 2, 1, 2,
     0,
    12, MVT::v128i8,
     OPC_CheckPatternPredicate4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v128i8, 2, 1, 2,
    28, MVT::v32i16,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i16, 2, 1, 2,
     12,
      OPC_CheckPatternPredicate3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32i16, 2, 1, 2,
     0,
    12, MVT::v64i16,
     OPC_CheckPatternPredicate4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v64i16, 2, 1, 2,
    28, MVT::v16i32,
     OPC_Scope, 12,
      OPC_CheckPatternPredicate2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i32, 2, 1, 2,
     12,
      OPC_CheckPatternPredicate3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i32, 2, 1, 2,
     0,
    12, MVT::v32i32,
     OPC_CheckPatternPredicate4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v32i32, 2, 1, 2,
    0,
   0,
  29|128,16,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 94|128,9, TARGET_VAL(ISD::ADD),
    OPC_Scope, 52|128,2,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::VALIGNADDR),
     OPC_RecordChild0,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate6,
     OPC_CheckPredicate, 13,
     OPC_Scope, 15|128,1,
      OPC_CheckPredicate, 39,
      OPC_CheckPredicate, 40,
      OPC_SwitchType , 28, MVT::v32bf16,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32bf16, 2, 1, 3,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32bf16, 2, 1, 3,
       0,
      12, MVT::v64bf16,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64bf16, 2, 1, 3,
      28, MVT::v32f16,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32f16, 2, 1, 3,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32f16, 2, 1, 3,
       0,
      12, MVT::v64f16,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64f16, 2, 1, 3,
      30, 13|128,1,
       OPC_Scope, 13,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        13|128,1, 2, 1, 3,
       13,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        13|128,1, 2, 1, 3,
       0,
      13, 14|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       14|128,1, 2, 1, 3,
      0,
     13|128,1,
      OPC_CheckPredicate, 16,
      OPC_SwitchType , 28, MVT::v32bf16,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32bf16, 2, 1, 3,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32bf16, 2, 1, 3,
       0,
      12, MVT::v64bf16,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64bf16, 2, 1, 3,
      28, MVT::v32f16,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32f16, 2, 1, 3,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32f16, 2, 1, 3,
       0,
      12, MVT::v64f16,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64f16, 2, 1, 3,
      30, 13|128,1,
       OPC_Scope, 13,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        13|128,1, 2, 1, 3,
       13,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        13|128,1, 2, 1, 3,
       0,
      13, 14|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       14|128,1, 2, 1, 3,
      0,
     0,
    36|128,7,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate6,
     OPC_CheckPredicate, 13,
     OPC_Scope, 33|128,1,
      OPC_CheckPredicate, 39,
      OPC_CheckPredicate, 40,
      OPC_SwitchType , 32, MVT::v32bf16,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32bf16, 2, 3, 4,
       14,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32bf16, 2, 3, 4,
       0,
      14, MVT::v64bf16,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64bf16, 2, 3, 4,
      32, MVT::v32f16,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32f16, 2, 3, 4,
       14,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32f16, 2, 3, 4,
       0,
      14, MVT::v64f16,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64f16, 2, 3, 4,
      34, 13|128,1,
       OPC_Scope, 15,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        13|128,1, 2, 3, 4,
       15,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        13|128,1, 2, 3, 4,
       0,
      15, 14|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       14|128,1, 2, 3, 4,
      0,
     31|128,1,
      OPC_CheckPredicate, 16,
      OPC_SwitchType , 32, MVT::v32bf16,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32bf16, 2, 3, 4,
       14,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32bf16, 2, 3, 4,
       0,
      14, MVT::v64bf16,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64bf16, 2, 3, 4,
      32, MVT::v32f16,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32f16, 2, 3, 4,
       14,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32f16, 2, 3, 4,
       0,
      14, MVT::v64f16,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64f16, 2, 3, 4,
      34, 13|128,1,
       OPC_Scope, 15,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        13|128,1, 2, 3, 4,
       15,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        13|128,1, 2, 3, 4,
       0,
      15, 14|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       14|128,1, 2, 3, 4,
      0,
     31|128,1,
      OPC_CheckPredicate, 17,
      OPC_SwitchType , 32, MVT::v32bf16,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32bf16, 2, 3, 4,
       14,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32bf16, 2, 3, 4,
       0,
      14, MVT::v64bf16,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64bf16, 2, 3, 4,
      32, MVT::v32f16,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32f16, 2, 3, 4,
       14,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32f16, 2, 3, 4,
       0,
      14, MVT::v64f16,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64f16, 2, 3, 4,
      34, 13|128,1,
       OPC_Scope, 15,
        OPC_CheckPatternPredicate, 8,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        13|128,1, 2, 3, 4,
       15,
        OPC_CheckPatternPredicate, 9,
        OPC_CheckComplexPat0, /*#*/1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        13|128,1, 2, 3, 4,
       0,
      15, 14|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       14|128,1, 2, 3, 4,
      0,
     15|128,1,
      OPC_CheckPredicate, 39,
      OPC_CheckPredicate, 40,
      OPC_SwitchType , 28, MVT::v32bf16,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32bf16, 2, 1, 3,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32bf16, 2, 1, 3,
       0,
      12, MVT::v64bf16,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64bf16, 2, 1, 3,
      28, MVT::v32f16,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32f16, 2, 1, 3,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32f16, 2, 1, 3,
       0,
      12, MVT::v64f16,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64f16, 2, 1, 3,
      30, 13|128,1,
       OPC_Scope, 13,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        13|128,1, 2, 1, 3,
       13,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        13|128,1, 2, 1, 3,
       0,
      13, 14|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       14|128,1, 2, 1, 3,
      0,
     13|128,1,
      OPC_CheckPredicate, 16,
      OPC_SwitchType , 28, MVT::v32bf16,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32bf16, 2, 1, 3,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32bf16, 2, 1, 3,
       0,
      12, MVT::v64bf16,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64bf16, 2, 1, 3,
      28, MVT::v32f16,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32f16, 2, 1, 3,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32f16, 2, 1, 3,
       0,
      12, MVT::v64f16,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64f16, 2, 1, 3,
      30, 13|128,1,
       OPC_Scope, 13,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        13|128,1, 2, 1, 3,
       13,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        13|128,1, 2, 1, 3,
       0,
      13, 14|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       14|128,1, 2, 1, 3,
      0,
     13|128,1,
      OPC_CheckPredicate, 17,
      OPC_SwitchType , 28, MVT::v32bf16,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32bf16, 2, 1, 3,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32bf16, 2, 1, 3,
       0,
      12, MVT::v64bf16,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64bf16, 2, 1, 3,
      28, MVT::v32f16,
       OPC_Scope, 12,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32f16, 2, 1, 3,
       12,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v32f16, 2, 1, 3,
       0,
      12, MVT::v64f16,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v64f16, 2, 1, 3,
      30, 13|128,1,
       OPC_Scope, 13,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        13|128,1, 2, 1, 3,
       13,
        OPC_CheckPatternPredicate, 9,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitConvertToTarget2,
        OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                        13|128,1, 2, 1, 3,
       0,
      13, 14|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       14|128,1, 2, 1, 3,
      0,
     0,
    0,
   58|128,2, TARGET_VAL(HexagonISD::VALIGNADDR),
    OPC_RecordChild0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate6,
    OPC_CheckPredicate, 13,
    OPC_Scope, 24|128,1,
     OPC_CheckPredicate, 39,
     OPC_CheckPredicate, 40,
     OPC_SwitchType , 30, MVT::v32bf16,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32bf16, 2, 1, 2,
      13,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32bf16, 2, 1, 2,
      0,
     13, MVT::v64bf16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64bf16, 2, 1, 2,
     30, MVT::v32f16,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32f16, 2, 1, 2,
      13,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32f16, 2, 1, 2,
      0,
     13, MVT::v64f16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64f16, 2, 1, 2,
     32, 13|128,1,
      OPC_Scope, 14,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       13|128,1, 2, 1, 2,
      14,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       13|128,1, 2, 1, 2,
      0,
     14, 14|128,1,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      14|128,1, 2, 1, 2,
     0,
    22|128,1,
     OPC_CheckPredicate, 16,
     OPC_SwitchType , 30, MVT::v32bf16,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32bf16, 2, 1, 2,
      13,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32bf16, 2, 1, 2,
      0,
     13, MVT::v64bf16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64bf16, 2, 1, 2,
     30, MVT::v32f16,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32f16, 2, 1, 2,
      13,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32f16, 2, 1, 2,
      0,
     13, MVT::v64f16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64f16, 2, 1, 2,
     32, 13|128,1,
      OPC_Scope, 14,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       13|128,1, 2, 1, 2,
      14,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       13|128,1, 2, 1, 2,
      0,
     14, 14|128,1,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      14|128,1, 2, 1, 2,
     0,
    0,
   118|128,3, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckPredicate4,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckPredicate6,
    OPC_CheckPredicate, 13,
    OPC_Scope, 33|128,1,
     OPC_CheckPredicate, 39,
     OPC_CheckPredicate, 40,
     OPC_SwitchType , 32, MVT::v32bf16,
      OPC_Scope, 14,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32bf16, 2, 3, 4,
      14,
       OPC_CheckPatternPredicate, 9,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32bf16, 2, 3, 4,
      0,
     14, MVT::v64bf16,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64bf16, 2, 3, 4,
     32, MVT::v32f16,
      OPC_Scope, 14,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32f16, 2, 3, 4,
      14,
       OPC_CheckPatternPredicate, 9,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32f16, 2, 3, 4,
      0,
     14, MVT::v64f16,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64f16, 2, 3, 4,
     34, 13|128,1,
      OPC_Scope, 15,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       13|128,1, 2, 3, 4,
      15,
       OPC_CheckPatternPredicate, 9,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       13|128,1, 2, 3, 4,
      0,
     15, 14|128,1,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      14|128,1, 2, 3, 4,
     0,
    31|128,1,
     OPC_CheckPredicate, 16,
     OPC_SwitchType , 32, MVT::v32bf16,
      OPC_Scope, 14,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32bf16, 2, 3, 4,
      14,
       OPC_CheckPatternPredicate, 9,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32bf16, 2, 3, 4,
      0,
     14, MVT::v64bf16,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64bf16, 2, 3, 4,
     32, MVT::v32f16,
      OPC_Scope, 14,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32f16, 2, 3, 4,
      14,
       OPC_CheckPatternPredicate, 9,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32f16, 2, 3, 4,
      0,
     14, MVT::v64f16,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64f16, 2, 3, 4,
     34, 13|128,1,
      OPC_Scope, 15,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       13|128,1, 2, 3, 4,
      15,
       OPC_CheckPatternPredicate, 9,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       13|128,1, 2, 3, 4,
      0,
     15, 14|128,1,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      14|128,1, 2, 3, 4,
     0,
    31|128,1,
     OPC_CheckPredicate, 17,
     OPC_SwitchType , 32, MVT::v32bf16,
      OPC_Scope, 14,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32bf16, 2, 3, 4,
      14,
       OPC_CheckPatternPredicate, 9,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32bf16, 2, 3, 4,
      0,
     14, MVT::v64bf16,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64bf16, 2, 3, 4,
     32, MVT::v32f16,
      OPC_Scope, 14,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32f16, 2, 3, 4,
      14,
       OPC_CheckPatternPredicate, 9,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32f16, 2, 3, 4,
      0,
     14, MVT::v64f16,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64f16, 2, 3, 4,
     34, 13|128,1,
      OPC_Scope, 15,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       13|128,1, 2, 3, 4,
      15,
       OPC_CheckPatternPredicate, 9,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget2,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       13|128,1, 2, 3, 4,
      0,
     15, 14|128,1,
      OPC_CheckPatternPredicate, 10,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      14|128,1, 2, 3, 4,
     0,
    0,
   0,
  7|128,4,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate6,
   OPC_CheckPredicate, 13,
   OPC_Scope, 42|128,1,
    OPC_CheckPredicate, 39,
    OPC_CheckPredicate, 40,
    OPC_SwitchType , 34, MVT::v32bf16,
     OPC_Scope, 15,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32bf16, 2, 2, 3,
     15,
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32bf16, 2, 2, 3,
     0,
    15, MVT::v64bf16,
     OPC_CheckPatternPredicate, 10,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v64bf16, 2, 2, 3,
    34, MVT::v32f16,
     OPC_Scope, 15,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32f16, 2, 2, 3,
     15,
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32f16, 2, 2, 3,
     0,
    15, MVT::v64f16,
     OPC_CheckPatternPredicate, 10,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v64f16, 2, 2, 3,
    36, 13|128,1,
     OPC_Scope, 16,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      13|128,1, 2, 2, 3,
     16,
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      13|128,1, 2, 2, 3,
     0,
    16, 14|128,1,
     OPC_CheckPatternPredicate, 10,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     14|128,1, 2, 2, 3,
    0,
   40|128,1,
    OPC_CheckPredicate, 16,
    OPC_SwitchType , 34, MVT::v32bf16,
     OPC_Scope, 15,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32bf16, 2, 2, 3,
     15,
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32bf16, 2, 2, 3,
     0,
    15, MVT::v64bf16,
     OPC_CheckPatternPredicate, 10,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v64bf16, 2, 2, 3,
    34, MVT::v32f16,
     OPC_Scope, 15,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32f16, 2, 2, 3,
     15,
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32f16, 2, 2, 3,
     0,
    15, MVT::v64f16,
     OPC_CheckPatternPredicate, 10,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v64f16, 2, 2, 3,
    36, 13|128,1,
     OPC_Scope, 16,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      13|128,1, 2, 2, 3,
     16,
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      13|128,1, 2, 2, 3,
     0,
    16, 14|128,1,
     OPC_CheckPatternPredicate, 10,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     14|128,1, 2, 2, 3,
    0,
   40|128,1,
    OPC_CheckPredicate, 17,
    OPC_SwitchType , 34, MVT::v32bf16,
     OPC_Scope, 15,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32bf16, 2, 2, 3,
     15,
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32bf16, 2, 2, 3,
     0,
    15, MVT::v64bf16,
     OPC_CheckPatternPredicate, 10,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v64bf16, 2, 2, 3,
    34, MVT::v32f16,
     OPC_Scope, 15,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32f16, 2, 2, 3,
     15,
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32f16, 2, 2, 3,
     0,
    15, MVT::v64f16,
     OPC_CheckPatternPredicate, 10,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v64f16, 2, 2, 3,
    36, 13|128,1,
     OPC_Scope, 16,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      13|128,1, 2, 2, 3,
     16,
      OPC_CheckPatternPredicate, 9,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      13|128,1, 2, 2, 3,
     0,
    16, 14|128,1,
     OPC_CheckPatternPredicate, 10,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     14|128,1, 2, 2, 3,
    0,
   0,
  49|128,10,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 19|128,5, TARGET_VAL(HexagonISD::CP),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstantPool),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate6,
    OPC_CheckPredicate, 13,
    OPC_Scope, 87|128,1,
     OPC_CheckPredicate, 39,
     OPC_CheckPredicate, 40,
     OPC_SwitchType , 44, MVT::v32bf16,
      OPC_Scope, 20,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32bf16, 2, 3, 4,
      20,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32bf16, 2, 3, 4,
      0,
     20, MVT::v64bf16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64bf16, 2, 3, 4,
     44, MVT::v32f16,
      OPC_Scope, 20,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32f16, 2, 3, 4,
      20,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32f16, 2, 3, 4,
      0,
     20, MVT::v64f16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64f16, 2, 3, 4,
     46, 13|128,1,
      OPC_Scope, 21,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       13|128,1, 2, 3, 4,
      21,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       13|128,1, 2, 3, 4,
      0,
     21, 14|128,1,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      14|128,1, 2, 3, 4,
     0,
    85|128,1,
     OPC_CheckPredicate, 16,
     OPC_SwitchType , 44, MVT::v32bf16,
      OPC_Scope, 20,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32bf16, 2, 3, 4,
      20,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32bf16, 2, 3, 4,
      0,
     20, MVT::v64bf16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64bf16, 2, 3, 4,
     44, MVT::v32f16,
      OPC_Scope, 20,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32f16, 2, 3, 4,
      20,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32f16, 2, 3, 4,
      0,
     20, MVT::v64f16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64f16, 2, 3, 4,
     46, 13|128,1,
      OPC_Scope, 21,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       13|128,1, 2, 3, 4,
      21,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       13|128,1, 2, 3, 4,
      0,
     21, 14|128,1,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      14|128,1, 2, 3, 4,
     0,
    85|128,1,
     OPC_CheckPredicate, 17,
     OPC_SwitchType , 44, MVT::v32bf16,
      OPC_Scope, 20,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32bf16, 2, 3, 4,
      20,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32bf16, 2, 3, 4,
      0,
     20, MVT::v64bf16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64bf16, 2, 3, 4,
     44, MVT::v32f16,
      OPC_Scope, 20,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32f16, 2, 3, 4,
      20,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32f16, 2, 3, 4,
      0,
     20, MVT::v64f16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64f16, 2, 3, 4,
     46, 13|128,1,
      OPC_Scope, 21,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       13|128,1, 2, 3, 4,
      21,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       13|128,1, 2, 3, 4,
      0,
     21, 14|128,1,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      14|128,1, 2, 3, 4,
     0,
    0,
   19|128,5, TARGET_VAL(HexagonISD::AT_PCREL),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstantPool),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate6,
    OPC_CheckPredicate, 13,
    OPC_Scope, 87|128,1,
     OPC_CheckPredicate, 39,
     OPC_CheckPredicate, 40,
     OPC_SwitchType , 44, MVT::v32bf16,
      OPC_Scope, 20,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32bf16, 2, 3, 4,
      20,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32bf16, 2, 3, 4,
      0,
     20, MVT::v64bf16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64bf16, 2, 3, 4,
     44, MVT::v32f16,
      OPC_Scope, 20,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32f16, 2, 3, 4,
      20,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32f16, 2, 3, 4,
      0,
     20, MVT::v64f16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64f16, 2, 3, 4,
     46, 13|128,1,
      OPC_Scope, 21,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       13|128,1, 2, 3, 4,
      21,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       13|128,1, 2, 3, 4,
      0,
     21, 14|128,1,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      14|128,1, 2, 3, 4,
     0,
    85|128,1,
     OPC_CheckPredicate, 16,
     OPC_SwitchType , 44, MVT::v32bf16,
      OPC_Scope, 20,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32bf16, 2, 3, 4,
      20,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32bf16, 2, 3, 4,
      0,
     20, MVT::v64bf16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64bf16, 2, 3, 4,
     44, MVT::v32f16,
      OPC_Scope, 20,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32f16, 2, 3, 4,
      20,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32f16, 2, 3, 4,
      0,
     20, MVT::v64f16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64f16, 2, 3, 4,
     46, 13|128,1,
      OPC_Scope, 21,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       13|128,1, 2, 3, 4,
      21,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       13|128,1, 2, 3, 4,
      0,
     21, 14|128,1,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      14|128,1, 2, 3, 4,
     0,
    85|128,1,
     OPC_CheckPredicate, 17,
     OPC_SwitchType , 44, MVT::v32bf16,
      OPC_Scope, 20,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32bf16, 2, 3, 4,
      20,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32bf16, 2, 3, 4,
      0,
     20, MVT::v64bf16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64bf16, 2, 3, 4,
     44, MVT::v32f16,
      OPC_Scope, 20,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32f16, 2, 3, 4,
      20,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v32f16, 2, 3, 4,
      0,
     20, MVT::v64f16,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v64f16, 2, 3, 4,
     46, 13|128,1,
      OPC_Scope, 21,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       13|128,1, 2, 3, 4,
      21,
       OPC_CheckPatternPredicate, 9,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget1,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                       MVT::i32, 1, 2,
       OPC_EmitIntegerI32, 0,
       OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                       13|128,1, 2, 3, 4,
      0,
     21, 14|128,1,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::C4_addipc),
                      MVT::i32, 1, 2,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      14|128,1, 2, 3, 4,
     0,
    0,
   0,
  81|128,3,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate6,
   OPC_CheckPredicate, 13,
   OPC_Scope, 24|128,1,
    OPC_CheckPredicate, 39,
    OPC_CheckPredicate, 40,
    OPC_SwitchType , 30, MVT::v32bf16,
     OPC_Scope, 13,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32bf16, 2, 1, 2,
     13,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32bf16, 2, 1, 2,
     0,
    13, MVT::v64bf16,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v64bf16, 2, 1, 2,
    30, MVT::v32f16,
     OPC_Scope, 13,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32f16, 2, 1, 2,
     13,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32f16, 2, 1, 2,
     0,
    13, MVT::v64f16,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v64f16, 2, 1, 2,
    32, 13|128,1,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      13|128,1, 2, 1, 2,
     14,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      13|128,1, 2, 1, 2,
     0,
    14, 14|128,1,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_nt_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     14|128,1, 2, 1, 2,
    0,
   22|128,1,
    OPC_CheckPredicate, 16,
    OPC_SwitchType , 30, MVT::v32bf16,
     OPC_Scope, 13,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32bf16, 2, 1, 2,
     13,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32bf16, 2, 1, 2,
     0,
    13, MVT::v64bf16,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v64bf16, 2, 1, 2,
    30, MVT::v32f16,
     OPC_Scope, 13,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32f16, 2, 1, 2,
     13,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32f16, 2, 1, 2,
     0,
    13, MVT::v64f16,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v64f16, 2, 1, 2,
    32, 13|128,1,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      13|128,1, 2, 1, 2,
     14,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      13|128,1, 2, 1, 2,
     0,
    14, 14|128,1,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32b_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     14|128,1, 2, 1, 2,
    0,
   22|128,1,
    OPC_CheckPredicate, 17,
    OPC_SwitchType , 30, MVT::v32bf16,
     OPC_Scope, 13,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32bf16, 2, 1, 2,
     13,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32bf16, 2, 1, 2,
     0,
    13, MVT::v64bf16,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v64bf16, 2, 1, 2,
    30, MVT::v32f16,
     OPC_Scope, 13,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32f16, 2, 1, 2,
     13,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v32f16, 2, 1, 2,
     0,
    13, MVT::v64f16,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v64f16, 2, 1, 2,
    32, 13|128,1,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      13|128,1, 2, 1, 2,
     14,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                      13|128,1, 2, 1, 2,
     0,
    14, 14|128,1,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::V6_vL32Ub_ai), 0|OPFL_Chain|OPFL_MemRefs,
                     14|128,1, 2, 1, 2,
    0,
   0,
  0,
 126|128,9, TARGET_VAL(ISD::ATOMIC_LOAD),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_Scope, 62|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_Scope, 14,
    OPC_CheckPredicate, 33,
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrubgp), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
   14,
    OPC_CheckPredicate, 34,
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrubgp), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
   14,
    OPC_CheckPredicate, 33,
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruhgp), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
   14,
    OPC_CheckPredicate, 34,
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruhgp), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
   32,
    OPC_CheckPredicate, 46,
    OPC_SwitchType , 12, MVT::i32,
     OPC_CheckPredicate, 15,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrigp), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 2,
    12, MVT::i64,
     OPC_CheckPredicate, 31,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrdgp), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 1, 2,
    0,
   14,
    OPC_CheckPredicate, 33,
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::PS_loadrubabs), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
   14,
    OPC_CheckPredicate, 34,
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat2, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::PS_loadrubabs), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
   14,
    OPC_CheckPredicate, 33,
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat5, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::PS_loadruhabs), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
   14,
    OPC_CheckPredicate, 34,
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat5, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::PS_loadruhabs), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 2,
   32,
    OPC_CheckPredicate, 46,
    OPC_SwitchType , 12, MVT::i32,
     OPC_CheckPredicate, 15,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::PS_loadriabs), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 2,
    12, MVT::i64,
     OPC_CheckPredicate, 31,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::PS_loadrdabs), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 1, 2,
    0,
   0,
  96|128,6,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 43|128,3, TARGET_VAL(ISD::OR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate4,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_Scope, 17,
     OPC_CheckPredicate, 33,
     OPC_CheckPredicate1,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 3, 4,
    17,
     OPC_CheckPredicate, 34,
     OPC_CheckPredicate1,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 3, 4,
    17,
     OPC_CheckPredicate, 33,
     OPC_CheckPredicate2,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 3, 4,
    17,
     OPC_CheckPredicate, 34,
     OPC_CheckPredicate2,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 3, 4,
    38,
     OPC_CheckPredicate, 46,
     OPC_SwitchType , 15, MVT::i32,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     15, MVT::i64,
      OPC_CheckPredicate, 31,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 3, 4,
     0,
    17,
     OPC_CheckPredicate, 33,
     OPC_CheckPredicate1,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 3,
    17,
     OPC_CheckPredicate, 34,
     OPC_CheckPredicate1,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 3,
    17,
     OPC_CheckPredicate, 33,
     OPC_CheckPredicate2,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 3,
    17,
     OPC_CheckPredicate, 34,
     OPC_CheckPredicate2,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 3,
    38,
     OPC_CheckPredicate, 46,
     OPC_SwitchType , 15, MVT::i32,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
     15, MVT::i64,
      OPC_CheckPredicate, 31,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 4, 3,
     0,
    15,
     OPC_CheckPredicate, 33,
     OPC_CheckPredicate1,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 3,
    15,
     OPC_CheckPredicate, 34,
     OPC_CheckPredicate1,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 3,
    15,
     OPC_CheckPredicate, 33,
     OPC_CheckPredicate2,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 3,
    15,
     OPC_CheckPredicate, 34,
     OPC_CheckPredicate2,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 3,
    34,
     OPC_CheckPredicate, 46,
     OPC_SwitchType , 13, MVT::i32,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 3,
     13, MVT::i64,
      OPC_CheckPredicate, 31,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 1, 3,
     0,
    15,
     OPC_CheckPredicate, 33,
     OPC_CheckPredicate1,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    15,
     OPC_CheckPredicate, 34,
     OPC_CheckPredicate1,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    15,
     OPC_CheckPredicate, 33,
     OPC_CheckPredicate2,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    15,
     OPC_CheckPredicate, 34,
     OPC_CheckPredicate2,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    34,
     OPC_CheckPredicate, 46,
     OPC_SwitchType , 13, MVT::i32,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
     13, MVT::i64,
      OPC_CheckPredicate, 31,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 2, 3,
     0,
    0,
   42|128,3, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_Scope, 17,
     OPC_CheckPredicate, 33,
     OPC_CheckPredicate1,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 3, 4,
    17,
     OPC_CheckPredicate, 34,
     OPC_CheckPredicate1,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 3, 4,
    17,
     OPC_CheckPredicate, 33,
     OPC_CheckPredicate2,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 3, 4,
    17,
     OPC_CheckPredicate, 34,
     OPC_CheckPredicate2,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 3, 4,
    38,
     OPC_CheckPredicate, 46,
     OPC_SwitchType , 15, MVT::i32,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 3, 4,
     15, MVT::i64,
      OPC_CheckPredicate, 31,
      OPC_CheckComplexPat0, /*#*/1,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 3, 4,
     0,
    17,
     OPC_CheckPredicate, 33,
     OPC_CheckPredicate1,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 3,
    17,
     OPC_CheckPredicate, 34,
     OPC_CheckPredicate1,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 3,
    17,
     OPC_CheckPredicate, 33,
     OPC_CheckPredicate2,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 3,
    17,
     OPC_CheckPredicate, 34,
     OPC_CheckPredicate2,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 4, 3,
    38,
     OPC_CheckPredicate, 46,
     OPC_SwitchType , 15, MVT::i32,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 4, 3,
     15, MVT::i64,
      OPC_CheckPredicate, 31,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 4, 3,
     0,
    15,
     OPC_CheckPredicate, 33,
     OPC_CheckPredicate1,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 3,
    15,
     OPC_CheckPredicate, 34,
     OPC_CheckPredicate1,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 3,
    15,
     OPC_CheckPredicate, 33,
     OPC_CheckPredicate2,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 3,
    15,
     OPC_CheckPredicate, 34,
     OPC_CheckPredicate2,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat5, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 3,
    34,
     OPC_CheckPredicate, 46,
     OPC_SwitchType , 13, MVT::i32,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 1, 3,
     13, MVT::i64,
      OPC_CheckPredicate, 31,
      OPC_CheckComplexPat4, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 1, 3,
     0,
    15,
     OPC_CheckPredicate, 33,
     OPC_CheckPredicate1,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    15,
     OPC_CheckPredicate, 34,
     OPC_CheckPredicate1,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    15,
     OPC_CheckPredicate, 33,
     OPC_CheckPredicate2,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    15,
     OPC_CheckPredicate, 34,
     OPC_CheckPredicate2,
     OPC_CheckTypeI32,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    34,
     OPC_CheckPredicate, 46,
     OPC_SwitchType , 13, MVT::i32,
      OPC_CheckPredicate, 15,
      OPC_CheckComplexPat1, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2, 2, 3,
     13, MVT::i64,
      OPC_CheckPredicate, 31,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2, 2, 3,
     0,
    0,
   0,
  86|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_Scope, 17,
    OPC_CheckPredicate, 33,
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   17,
    OPC_CheckPredicate, 34,
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   17,
    OPC_CheckPredicate, 33,
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   17,
    OPC_CheckPredicate, 34,
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 2, 3,
   38,
    OPC_CheckPredicate, 46,
    OPC_SwitchType , 15, MVT::i32,
     OPC_CheckPredicate, 15,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 2, 3,
    15, MVT::i64,
     OPC_CheckPredicate, 31,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 2, 3,
    0,
   15,
    OPC_CheckPredicate, 33,
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   15,
    OPC_CheckPredicate, 34,
    OPC_CheckPredicate1,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrub_io), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   15,
    OPC_CheckPredicate, 33,
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   15,
    OPC_CheckPredicate, 34,
    OPC_CheckPredicate2,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadruh_io), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 2,
   34,
    OPC_CheckPredicate, 46,
    OPC_SwitchType , 13, MVT::i32,
     OPC_CheckPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadri_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 2, 1, 2,
    13, MVT::i64,
     OPC_CheckPredicate, 31,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1, TARGET_VAL(Hexagon::L2_loadrd_io), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i64, 2, 1, 2,
    0,
   0,
  0,
 62|128,1, TARGET_VAL(ISD::FSHL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 11,
   OPC_CheckChild2Integer, 16,
   OPC_CheckChild2TypeI32,
   OPC_CheckTypeI32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_combine_lh),
                   MVT::i32, 2, 0, 1,
  44|128,1,
   OPC_RecordChild2,
   OPC_Scope, 86,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 15,
     OPC_CheckPredicate, 68,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitNodeXForm, 24, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_valignib),
                     MVT::i64, 3, 0, 1, 3,
    24,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget2,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_asl_i_p),
                     MVT::i64, 2, 0, 3,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 25, 5,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_p_or),
                     MVT::i64, 3, 4, 1, 6,
    37,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 3, 0, 4, 1, 5,
     OPC_EmitConvertToTarget2,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_asl_i_p),
                     MVT::i64, 2, 6, 7,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 8, 9,
    0,
   81,
    OPC_CheckChild2TypeI32,
    OPC_SwitchType , 32, MVT::i32,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 3, 0, 4, 1, 5,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_asl_r_p),
                     MVT::i64, 2, 6, 2,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 7, 8,
    42, MVT::i64,
     OPC_EmitIntegerI32, 63,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_andir),
                     MVT::i32, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_asl_r_p),
                     MVT::i64, 2, 0, 4,
     OPC_EmitIntegerI32, 63,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_andir),
                     MVT::i32, 2, 2, 6,
     OPC_EmitIntegerI32, 64,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_addi),
                     MVT::i32, 2, 7, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsl_r_p_or),
                     MVT::i64, 3, 5, 1, 9,
    0,
   0,
  0,
 62|128,1, TARGET_VAL(ISD::FSHR),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 11,
   OPC_CheckChild2Integer, 16,
   OPC_CheckChild2TypeI32,
   OPC_CheckTypeI32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_combine_lh),
                   MVT::i32, 2, 0, 1,
  44|128,1,
   OPC_RecordChild2,
   OPC_Scope, 86,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 15,
     OPC_CheckPredicate, 68,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitNodeXForm, 26, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_valignib),
                     MVT::i64, 3, 0, 1, 3,
    24,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget2,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_lsr_i_p),
                     MVT::i64, 2, 1, 3,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 25, 5,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_p_or),
                     MVT::i64, 3, 4, 0, 6,
    37,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 3, 0, 4, 1, 5,
     OPC_EmitConvertToTarget2,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_lsr_i_p),
                     MVT::i64, 2, 6, 7,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 8, 9,
    0,
   81,
    OPC_CheckChild2TypeI32,
    OPC_SwitchType , 32, MVT::i32,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 3, 0, 4, 1, 5,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_lsr_r_p),
                     MVT::i64, 2, 6, 2,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 7, 8,
    42, MVT::i64,
     OPC_EmitIntegerI32, 63,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_andir),
                     MVT::i32, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_lsr_r_p),
                     MVT::i64, 2, 1, 4,
     OPC_EmitIntegerI32, 63,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_andir),
                     MVT::i32, 2, 2, 6,
     OPC_EmitIntegerI32, 64,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_addi),
                     MVT::i32, 2, 7, 8,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_p_or),
                     MVT::i64, 3, 5, 0, 9,
    0,
   0,
  0,
 81, TARGET_VAL(HexagonISD::COMBINE),
  OPC_RecordChild0,
  OPC_Scope, 18,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 42,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_combineii),
                   MVT::i64, 2, 3, 2,
  58,
   OPC_RecordChild1,
   OPC_Scope, 17,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 42,
    OPC_MoveParent,
    OPC_CheckComplexPat3, /*#*/0,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_combineii),
                    MVT::i64, 2, 2, 3,
   9,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_combineri),
                    MVT::i64, 2, 0, 2,
   9,
    OPC_CheckComplexPat3, /*#*/0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_combineir),
                    MVT::i64, 2, 2, 1,
   16,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::i64, 5, 2, 0, 3, 1, 4,
   0,
  0,
 58|128,1, TARGET_VAL(ISD::ROTL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 99,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI32,
   OPC_Scope, 14,
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 30,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_r),
                    MVT::i32, 2, 0, 2,
   38,
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate, 30,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_p),
                     MVT::i64, 2, 0, 2,
    20,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_asl_i_p),
                     MVT::i64, 2, 0, 2,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 25, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_p_or),
                     MVT::i64, 3, 3, 0, 5,
    0,
   37,
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::i64, 5, 2, 0, 3, 0, 4,
    OPC_EmitConvertToTarget1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_asl_i_p),
                    MVT::i64, 2, 5, 6,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 7, 8,
   0,
  81,
   OPC_CheckChild1TypeI32,
   OPC_SwitchType , 32, MVT::i32,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::i64, 5, 2, 0, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_asl_r_p),
                    MVT::i64, 2, 5, 1,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 6, 7,
   42, MVT::i64,
    OPC_EmitIntegerI32, 63,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_andir),
                    MVT::i32, 2, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_asl_r_p),
                    MVT::i64, 2, 0, 3,
    OPC_EmitIntegerI32, 63,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_andir),
                    MVT::i32, 2, 1, 5,
    OPC_EmitIntegerI32, 64,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_addi),
                    MVT::i32, 2, 6, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsl_r_p_or),
                    MVT::i64, 3, 4, 0, 8,
   0,
  0,
 62|128,1, TARGET_VAL(ISD::ROTR),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 103,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI32,
   OPC_Scope, 16,
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 30,
    OPC_EmitNodeXForm, 27, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_r),
                    MVT::i32, 2, 0, 2,
   40,
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 30,
     OPC_EmitNodeXForm, 25, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_rol_i_p),
                     MVT::i64, 2, 0, 2,
    20,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_lsr_i_p),
                     MVT::i64, 2, 0, 2,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 25, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_p_or),
                     MVT::i64, 3, 3, 0, 5,
    0,
   37,
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::i64, 5, 2, 0, 3, 0, 4,
    OPC_EmitConvertToTarget1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_lsr_i_p),
                    MVT::i64, 2, 5, 6,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 7, 8,
   0,
  81,
   OPC_CheckChild1TypeI32,
   OPC_SwitchType , 32, MVT::i32,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::i64, 5, 2, 0, 3, 0, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_lsr_r_p),
                    MVT::i64, 2, 5, 1,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 6, 7,
   42, MVT::i64,
    OPC_EmitIntegerI32, 63,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_andir),
                    MVT::i32, 2, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_lsr_r_p),
                    MVT::i64, 2, 0, 3,
    OPC_EmitIntegerI32, 63,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_andir),
                    MVT::i32, 2, 1, 5,
    OPC_EmitIntegerI32, 64,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_addi),
                    MVT::i32, 2, 6, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_p_or),
                    MVT::i64, 3, 4, 0, 8,
   0,
  0,
 98|128,15, TARGET_VAL(ISD::TRUNCATE),
  OPC_Scope, 97,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 44, TARGET_VAL(ISD::SRA),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 32,
    OPC_CheckChild1TypeI32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat, /*CP*/8, /*#*/0,
    OPC_CheckComplexPat, /*CP*/8, /*#*/1,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 4,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 3, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_up),
                    MVT::i32, 2, 5, 7,
   44, TARGET_VAL(ISD::SRL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 32,
    OPC_CheckChild1TypeI32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat, /*CP*/8, /*#*/0,
    OPC_CheckComplexPat, /*CP*/8, /*#*/1,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 4,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 3, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_up),
                    MVT::i32, 2, 5, 7,
   0,
  36,
   OPC_RecordChild0,
   OPC_CheckType, MVT::i1,
   OPC_Scope, 10,
    OPC_CheckChild0TypeI32,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_tstbit_i),
                    MVT::i1, 2, 0, 1,
   19,
    OPC_CheckChild0TypeI64,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 1,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_tstbit_i),
                    MVT::i1, 2, 2, 3,
   0,
  71,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 31, TARGET_VAL(ISD::CTLZ),
    OPC_Scope, 17,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 127,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_cl1p),
                     MVT::i32, 1, 0,
    10,
     OPC_RecordChild0,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_cl0p),
                     MVT::i32, 1, 0,
    0,
   31, TARGET_VAL(ISD::CTTZ),
    OPC_Scope, 17,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 127,
     OPC_CheckTypeI64,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_ct1p),
                     MVT::i32, 1, 0,
    10,
     OPC_RecordChild0,
     OPC_CheckChild0TypeI64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_ct0p),
                     MVT::i32, 1, 0,
    0,
   0,
  49,
   OPC_RecordChild0,
   OPC_SwitchType , 9, MVT::i32,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 1,
   33, MVT::i1,
    OPC_Scope, 10,
     OPC_CheckChild0TypeI32,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_tstbit_i),
                     MVT::i1, 2, 0, 1,
    19,
     OPC_CheckChild0TypeI64,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 1,
     OPC_EmitIntegerI32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_tstbit_i),
                     MVT::i1, 2, 2, 3,
    0,
   0,
  96,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::CONCAT_VECTORS),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::TRUNCATE),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::CONCAT_VECTORS),
   OPC_RecordChild0,
   OPC_Scope, 48,
    OPC_CheckChild0Type, MVT::v16i32,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_CheckType, MVT::v64i16,
    OPC_MoveParent,
    OPC_CheckType, MVT::v64i8,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v64i8, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdealb4w),
                     MVT::v64i8, 2, 1, 0,
    13,
     OPC_CheckPatternPredicate3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v64i8, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdealb4w),
                     MVT::v64i8, 2, 1, 0,
    0,
   31,
    OPC_CheckChild0Type, MVT::v32i32,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v64i16,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v128i8,
    OPC_CheckPatternPredicate4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v128i8, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdealb4w),
                    MVT::v128i8, 2, 1, 0,
   0,
  124|128,12,
   OPC_RecordChild0,
   OPC_SwitchType , 6, MVT::v4i8,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vtrunehb),
                    MVT::v4i8, 1, 0,
   16|128,4, MVT::v64i1,
    OPC_Scope, 44,
     OPC_CheckChild0Type, MVT::v64i8,
     OPC_Scope, 19,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                      MVT::v64i1, 2, 0, 2,
     19,
      OPC_CheckPatternPredicate3,
      OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                      MVT::v64i1, 2, 0, 2,
     0,
    70|128,2,
     OPC_CheckChild0Type, MVT::v64i16,
     OPC_Scope, 19,
      OPC_CheckPatternPredicate4,
      OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                      MVT::v64i1, 2, 0, 2,
     21|128,1,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                      MVT::v64i8, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 2,
      OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandvrt),
                      MVT::v32i1, 2, 3, 5,
      OPC_EmitIntegerI32, 127,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                      MVT::v64i8, 2, 6, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackeb),
                      MVT::v64i8, 2, 1, 9,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNodeXForm, 28, 11,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 12,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vror),
                      MVT::v64i8, 2, 10, 13,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                      MVT::v64i8, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 16,
      OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 18,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandvrt),
                      MVT::v32i1, 2, 17, 19,
      OPC_EmitIntegerI32, 127,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 21,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                      MVT::v64i8, 2, 20, 22,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackeb),
                      MVT::v64i8, 2, 15, 23,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vor),
                      MVT::v64i8, 2, 14, 24,
      OPC_EmitIntegerI32, 127,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 26,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                      MVT::v64i1, 2, 25, 27,
     21|128,1,
      OPC_CheckPatternPredicate3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                      MVT::v64i8, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 2,
      OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandvrt),
                      MVT::v32i1, 2, 3, 5,
      OPC_EmitIntegerI32, 127,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                      MVT::v64i8, 2, 6, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackeb),
                      MVT::v64i8, 2, 1, 9,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNodeXForm, 28, 11,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 12,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vror),
                      MVT::v64i8, 2, 10, 13,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                      MVT::v64i8, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 16,
      OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 18,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandvrt),
                      MVT::v32i1, 2, 17, 19,
      OPC_EmitIntegerI32, 127,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 21,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                      MVT::v64i8, 2, 20, 22,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackeb),
                      MVT::v64i8, 2, 15, 23,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vor),
                      MVT::v64i8, 2, 14, 24,
      OPC_EmitIntegerI32, 127,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 26,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                      MVT::v64i1, 2, 25, 27,
     0,
    23|128,1,
     OPC_CheckChild0Type, MVT::v64i32,
     OPC_CheckPatternPredicate4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v128i8, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 0, 2,
     OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandvrt),
                     MVT::v32i1, 2, 3, 5,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                     MVT::v128i8, 2, 6, 8,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackeb),
                     MVT::v128i8, 2, 1, 9,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNodeXForm, 28, 11,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 12,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vror),
                     MVT::v128i8, 2, 10, 13,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v128i8, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 0, 16,
     OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 18,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandvrt),
                     MVT::v32i1, 2, 17, 19,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 21,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                     MVT::v128i8, 2, 20, 22,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackeb),
                     MVT::v128i8, 2, 15, 23,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vor),
                     MVT::v128i8, 2, 14, 24,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 26,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                     MVT::v64i1, 2, 25, 27,
    0,
   49|128,1, MVT::v128i1,
    OPC_Scope, 21,
     OPC_CheckChild0Type, MVT::v128i8,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                     MVT::v128i1, 2, 0, 2,
    23|128,1,
     OPC_CheckChild0Type, MVT::v128i16,
     OPC_CheckPatternPredicate4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v128i8, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 0, 2,
     OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandvrt),
                     MVT::v64i1, 2, 3, 5,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                     MVT::v128i8, 2, 6, 8,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackeb),
                     MVT::v128i8, 2, 1, 9,
     OPC_EmitIntegerI32, 0,
     OPC_EmitNodeXForm, 28, 11,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 12,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vror),
                     MVT::v128i8, 2, 10, 13,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v128i8, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 0, 16,
     OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 18,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandvrt),
                     MVT::v64i1, 2, 17, 19,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 21,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                     MVT::v128i8, 2, 20, 22,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackeb),
                     MVT::v128i8, 2, 15, 23,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vor),
                     MVT::v128i8, 2, 14, 24,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 26,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                     MVT::v128i1, 2, 25, 27,
    0,
   119|128,2, MVT::v32i1,
    OPC_Scope, 44,
     OPC_CheckChild0Type, MVT::v32i16,
     OPC_Scope, 19,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                      MVT::v32i1, 2, 0, 2,
     19,
      OPC_CheckPatternPredicate3,
      OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                      MVT::v32i1, 2, 0, 2,
     0,
    70|128,2,
     OPC_CheckChild0Type, MVT::v32i32,
     OPC_Scope, 19,
      OPC_CheckPatternPredicate4,
      OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                      MVT::v32i1, 2, 0, 2,
     21|128,1,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                      MVT::v64i8, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 2,
      OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandvrt),
                      MVT::v16i1, 2, 3, 5,
      OPC_EmitIntegerI32, 127,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                      MVT::v64i8, 2, 6, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackeb),
                      MVT::v64i8, 2, 1, 9,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNodeXForm, 28, 11,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 12,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vror),
                      MVT::v64i8, 2, 10, 13,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                      MVT::v64i8, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 16,
      OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 18,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandvrt),
                      MVT::v16i1, 2, 17, 19,
      OPC_EmitIntegerI32, 127,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 21,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                      MVT::v64i8, 2, 20, 22,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackeb),
                      MVT::v64i8, 2, 15, 23,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vor),
                      MVT::v64i8, 2, 14, 24,
      OPC_EmitIntegerI32, 127,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 26,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                      MVT::v32i1, 2, 25, 27,
     21|128,1,
      OPC_CheckPatternPredicate3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                      MVT::v64i8, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 2,
      OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 4,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandvrt),
                      MVT::v16i1, 2, 3, 5,
      OPC_EmitIntegerI32, 127,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                      MVT::v64i8, 2, 6, 8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackeb),
                      MVT::v64i8, 2, 1, 9,
      OPC_EmitIntegerI32, 0,
      OPC_EmitNodeXForm, 28, 11,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 12,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vror),
                      MVT::v64i8, 2, 10, 13,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                      MVT::v64i8, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 16,
      OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 18,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandvrt),
                      MVT::v16i1, 2, 17, 19,
      OPC_EmitIntegerI32, 127,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 21,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                      MVT::v64i8, 2, 20, 22,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackeb),
                      MVT::v64i8, 2, 15, 23,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vor),
                      MVT::v64i8, 2, 14, 24,
      OPC_EmitIntegerI32, 127,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 26,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                      MVT::v32i1, 2, 25, 27,
     0,
    0,
   42, MVT::v16i1,
    OPC_Scope, 19,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                     MVT::v16i1, 2, 0, 2,
    19,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                     MVT::v16i1, 2, 0, 2,
    0,
   25, MVT::v2i16,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_combine_ll),
                    MVT::v2i16, 2, 2, 4,
   68, MVT::v2i1,
    OPC_Scope, 29,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combineii),
                     MVT::i64, 2, 1, 2,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_andp),
                     MVT::i64, 2, 0, 3,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_vcmpweqi),
                     MVT::v2i1, 2, 4, 5,
    35,
     OPC_CheckChild0Type, MVT::v2i16,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_vzxthw),
                     MVT::i64, 1, 0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combineii),
                     MVT::i64, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_andp),
                     MVT::i64, 2, 1, 4,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_vcmpweqi),
                     MVT::v2i1, 2, 5, 6,
    0,
   58, MVT::v64i8,
    OPC_CheckChild0Type, MVT::v64i16,
    OPC_Scope, 26,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackeb),
                     MVT::v64i8, 2, 2, 4,
    26,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackeb),
                     MVT::v64i8, 2, 2, 4,
    0,
   26, MVT::v128i8,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 0, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackeb),
                    MVT::v128i8, 2, 2, 4,
   56, MVT::v32i16,
    OPC_Scope, 26,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackeh),
                     MVT::v32i16, 2, 2, 4,
    26,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackeh),
                     MVT::v32i16, 2, 2, 4,
    0,
   49, MVT::v64i16,
    OPC_CheckPatternPredicate4,
    OPC_Scope, 25,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackeh),
                     MVT::v64i16, 2, 2, 4,
    19,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_hi),
                     MVT::v32i32, 1, 0,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_lo),
                     MVT::v32i32, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackwh_sat),
                     MVT::v64i16, 2, 1, 2,
    0,
   22|128,1, MVT::v4i1,
    OPC_Scope, 67,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 2,
     OPC_EmitIntegerI32, 1|128,0|128,4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_andir),
                     MVT::i32, 2, 3, 4,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 0, 7,
     OPC_EmitIntegerI32, 1|128,0|128,4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_andir),
                     MVT::i32, 2, 8, 9,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 1, 5, 6, 10, 11,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_vcmpheqi),
                     MVT::v4i1, 2, 12, 13,
    79,
     OPC_CheckChild0Type, MVT::v4i8,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_vzxtbh),
                     MVT::i64, 1, 0,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 2, 3,
     OPC_EmitIntegerI32, 1|128,0|128,4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_andir),
                     MVT::i32, 2, 4, 5,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_vzxtbh),
                     MVT::i64, 1, 0,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 8, 9,
     OPC_EmitIntegerI32, 1|128,0|128,4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_andir),
                     MVT::i32, 2, 10, 11,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 1, 6, 7, 12, 13,
     OPC_EmitIntegerI32, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_vcmpheqi),
                     MVT::v4i1, 2, 14, 15,
    0,
   67, MVT::v8i1,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 2,
    OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_andir),
                    MVT::i32, 2, 3, 4,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 7,
    OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_andir),
                    MVT::i32, 2, 8, 9,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::i64, 5, 1, 5, 6, 10, 11,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_vcmpbeqi),
                    MVT::v8i1, 2, 12, 13,
   0,
  0,
 56|128,4, TARGET_VAL(ISD::SRA),
  OPC_Scope, 106,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_Scope, 76,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 49, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI32,
     OPC_Scope, 19,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 1,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 1,
      OPC_CheckChild1TypeI32,
      OPC_CheckTypeI32,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_r_rnd),
                      MVT::i32, 2, 0, 2,
     19,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 1,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 1,
      OPC_CheckChild1TypeI32,
      OPC_CheckTypeI64,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_p_rnd),
                      MVT::i64, 2, 0, 2,
     0,
    18, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 16,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 16,
     OPC_CheckChild1TypeI32,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_addh_l16_hl),
                     MVT::i32, 2, 0, 1,
    0,
   22,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 16,
    OPC_CheckChild1TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 16,
    OPC_CheckChild1TypeI32,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_addh_l16_hl),
                    MVT::i32, 2, 1, 0,
   0,
  73|128,3,
   OPC_RecordChild0,
   OPC_Scope, 10,
    OPC_CheckChild1Integer, 16,
    OPC_CheckChild1TypeI32,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_asrh),
                    MVT::i32, 1, 0,
   59,
    OPC_RecordChild1,
    OPC_Scope, 33,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI32,
     OPC_Scope, 12,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_r),
                      MVT::i32, 2, 0, 2,
     12,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_p),
                      MVT::i64, 2, 0, 2,
     0,
    21,
     OPC_CheckChild1TypeI32,
     OPC_SwitchType , 7, MVT::i32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_r),
                      MVT::i32, 2, 0, 1,
     7, MVT::i64,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_p),
                      MVT::i64, 2, 0, 1,
     0,
    0,
   46,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 16,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_vw),
                     MVT::v2i32, 2, 0, 2,
    16,
     OPC_CheckPredicate, 41,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_vh),
                     MVT::v4i16, 2, 0, 2,
    0,
   78|128,2,
    OPC_RecordChild1,
    OPC_SwitchType , 22, MVT::v32i16,
     OPC_CheckChild1Type, MVT::v32i16,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrhv),
                      MVT::v32i16, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrhv),
                      MVT::v32i16, 2, 0, 1,
     0,
    10, MVT::v64i16,
     OPC_CheckChild1Type, MVT::v64i16,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrhv),
                     MVT::v64i16, 2, 0, 1,
    22, MVT::v16i32,
     OPC_CheckChild1Type, MVT::v16i32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrwv),
                      MVT::v16i32, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrwv),
                      MVT::v16i32, 2, 0, 1,
     0,
    10, MVT::v32i32,
     OPC_CheckChild1Type, MVT::v32i32,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrwv),
                     MVT::v32i32, 2, 0, 1,
    42|128,1, MVT::v64i8,
     OPC_CheckChild1Type, MVT::v64i8,
     OPC_Scope, 82,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsb),
                      MVT::v128i8, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                      MVT::v128i8, 1, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 5, 6,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vasrhv),
                      MVT::v64i8, 2, 4, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsb),
                      MVT::v128i8, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 9, 10,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                      MVT::v128i8, 1, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 12, 13,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vasrhv),
                      MVT::v64i8, 2, 11, 14,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                      MVT::v64i8, 2, 8, 15,
     82,
      OPC_CheckPatternPredicate3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsb),
                      MVT::v128i8, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                      MVT::v128i8, 1, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 5, 6,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vasrhv),
                      MVT::v64i8, 2, 4, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsb),
                      MVT::v128i8, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 9, 10,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                      MVT::v128i8, 1, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 12, 13,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vasrhv),
                      MVT::v64i8, 2, 11, 14,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                      MVT::v64i8, 2, 8, 15,
     0,
    84, MVT::v128i8,
     OPC_CheckChild1Type, MVT::v128i8,
     OPC_CheckPatternPredicate4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsb),
                     MVT::v256i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                     MVT::v256i8, 1, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 5, 6,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vasrhv),
                     MVT::v128i8, 2, 4, 7,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsb),
                     MVT::v256i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 9, 10,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                     MVT::v256i8, 1, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 12, 13,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vasrhv),
                     MVT::v128i8, 2, 11, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                     MVT::v128i8, 2, 8, 15,
    0,
   0,
  0,
 21|128,13, TARGET_VAL(ISD::SELECT),
  OPC_Scope, 62,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_CheckType, MVT::i1,
   OPC_Scope, 21,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 42,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckTypeI32,
    OPC_CheckComplexPat3, /*#*/2,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_muxii),
                    MVT::i32, 3, 0, 3, 4,
   28,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckTypeI32,
    OPC_Scope, 10,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_muxir),
                     MVT::i32, 3, 0, 2, 3,
    10,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_muxri),
                     MVT::i32, 3, 0, 3, 1,
    0,
   0,
  24,
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::i1,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 42,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_muxii),
                   MVT::i32, 3, 0, 3, 4,
  21,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_CheckType, MVT::i1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckTypeI32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_mux),
                   MVT::i32, 3, 0, 2, 1,
  1|128,1,
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::i1,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 33, MVT::i32,
    OPC_Scope, 10,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_muxri),
                     MVT::i32, 3, 0, 3, 2,
    10,
     OPC_CheckComplexPat3, /*#*/2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_muxir),
                     MVT::i32, 3, 0, 1, 3,
    8,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_mux),
                     MVT::i32, 3, 0, 1, 2,
    0,
   15, MVT::i1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_and),
                    MVT::i1, 2, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                    MVT::i1, 3, 3, 2, 0,
   68, MVT::i64,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 4,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 6,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_mux),
                    MVT::i32, 3, 0, 5, 7,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 10,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 12,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_mux),
                    MVT::i32, 3, 0, 11, 13,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::i64, 5, 3, 8, 9, 14, 15,
   0,
  95|128,2,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 35|128,2, TARGET_VAL(ISD::SETCC),
    OPC_RecordChild0,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 5|128,1,
     OPC_CheckChild0Type, MVT::f32,
     OPC_RecordChild1,
     OPC_Scope, 31,
      OPC_CheckChild2CondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 11,
       OPC_CheckChild1Same, 1,
       OPC_CheckChild2Same, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfmin),
                       MVT::f32, 2, 0, 1,
      11,
       OPC_CheckChild1Same, 0,
       OPC_CheckChild2Same, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfmax),
                       MVT::f32, 2, 0, 1,
      0,
     31,
      OPC_CheckChild2CondCode, ISD::SETOGE,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 11,
       OPC_CheckChild1Same, 1,
       OPC_CheckChild2Same, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfmin),
                       MVT::f32, 2, 0, 1,
      11,
       OPC_CheckChild1Same, 0,
       OPC_CheckChild2Same, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfmax),
                       MVT::f32, 2, 0, 1,
      0,
     31,
      OPC_CheckChild2CondCode, ISD::SETOLT,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 11,
       OPC_CheckChild1Same, 1,
       OPC_CheckChild2Same, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfmax),
                       MVT::f32, 2, 0, 1,
      11,
       OPC_CheckChild1Same, 0,
       OPC_CheckChild2Same, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfmin),
                       MVT::f32, 2, 0, 1,
      0,
     31,
      OPC_CheckChild2CondCode, ISD::SETOLE,
      OPC_MoveParent,
      OPC_CheckType, MVT::f32,
      OPC_Scope, 11,
       OPC_CheckChild1Same, 1,
       OPC_CheckChild2Same, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfmax),
                       MVT::f32, 2, 0, 1,
      11,
       OPC_CheckChild1Same, 0,
       OPC_CheckChild2Same, 1,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfmin),
                       MVT::f32, 2, 0, 1,
      0,
     0,
    21|128,1,
     OPC_CheckChild0Type, MVT::f64,
     OPC_RecordChild1,
     OPC_Scope, 35,
      OPC_CheckChild2CondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 13,
       OPC_CheckChild1Same, 1,
       OPC_CheckChild2Same, 0,
       OPC_CheckPatternPredicate, 21,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfmin),
                       MVT::f64, 2, 0, 1,
      13,
       OPC_CheckChild1Same, 0,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate, 21,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfmax),
                       MVT::f64, 2, 0, 1,
      0,
     35,
      OPC_CheckChild2CondCode, ISD::SETOGE,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 13,
       OPC_CheckChild1Same, 1,
       OPC_CheckChild2Same, 0,
       OPC_CheckPatternPredicate, 21,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfmin),
                       MVT::f64, 2, 0, 1,
      13,
       OPC_CheckChild1Same, 0,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate, 21,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfmax),
                       MVT::f64, 2, 0, 1,
      0,
     35,
      OPC_CheckChild2CondCode, ISD::SETOLT,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 13,
       OPC_CheckChild1Same, 1,
       OPC_CheckChild2Same, 0,
       OPC_CheckPatternPredicate, 21,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfmax),
                       MVT::f64, 2, 0, 1,
      13,
       OPC_CheckChild1Same, 0,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate, 21,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfmin),
                       MVT::f64, 2, 0, 1,
      0,
     35,
      OPC_CheckChild2CondCode, ISD::SETOLE,
      OPC_MoveParent,
      OPC_CheckType, MVT::f64,
      OPC_Scope, 13,
       OPC_CheckChild1Same, 1,
       OPC_CheckChild2Same, 0,
       OPC_CheckPatternPredicate, 21,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfmax),
                       MVT::f64, 2, 0, 1,
      13,
       OPC_CheckChild1Same, 0,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate, 21,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfmin),
                       MVT::f64, 2, 0, 1,
      0,
     0,
    0,
   50, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 20,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, MVT::f32,
     OPC_EmitNodeXForm, 29, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_muxir),
                     MVT::f32, 3, 0, 2, 3,
    21,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_EmitNodeXForm, 29, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_muxri),
                     MVT::f32, 3, 0, 3, 1,
    0,
   0,
  46,
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::i1,
   OPC_RecordChild1,
   OPC_Scope, 19,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_EmitNodeXForm, 29, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_muxir),
                    MVT::f32, 3, 0, 1, 3,
   19,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, MVT::f32,
    OPC_EmitNodeXForm, 29, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_muxri),
                    MVT::f32, 3, 0, 3, 2,
   0,
  61,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SETCC),
   OPC_RecordChild0,
   OPC_CheckType, MVT::i1,
   OPC_Scope, 25,
    OPC_CheckChild0Type, MVT::f32,
    OPC_RecordChild1,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckType, MVT::f32,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfcmpgt),
                    MVT::i1, 2, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_mux),
                    MVT::f32, 3, 4, 2, 3,
   25,
    OPC_CheckChild0Type, MVT::f64,
    OPC_RecordChild1,
    OPC_CheckChild2CondCode, ISD::SETULT,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckType, MVT::f64,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfcmpgt),
                    MVT::i1, 2, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_vmux),
                    MVT::f64, 3, 4, 2, 3,
   0,
  82|128,7,
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::i1,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 8, MVT::f32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_mux),
                    MVT::f32, 3, 0, 1, 2,
   68, MVT::f64,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 4,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 6,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_mux),
                    MVT::i32, 3, 0, 5, 7,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 10,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 12,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_mux),
                    MVT::i32, 3, 0, 11, 13,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::f64, 5, 3, 8, 9, 14, 15,
   8, MVT::v4i8,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_mux),
                    MVT::v4i8, 3, 0, 1, 2,
   8, MVT::v2i16,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_mux),
                    MVT::v2i16, 3, 0, 1, 2,
   22, MVT::v64i8,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vselect),
                     MVT::v64i8, 3, 0, 1, 2,
    9,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vselect),
                     MVT::v64i8, 3, 0, 1, 2,
    0,
   32, MVT::v128i8,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vselect),
                     MVT::v128i8, 3, 0, 1, 2,
    9,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_wselect),
                     MVT::v128i8, 3, 0, 1, 2,
    9,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_wselect),
                     MVT::v128i8, 3, 0, 1, 2,
    0,
   22, MVT::v32i16,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vselect),
                     MVT::v32i16, 3, 0, 1, 2,
    9,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vselect),
                     MVT::v32i16, 3, 0, 1, 2,
    0,
   32, MVT::v64i16,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vselect),
                     MVT::v64i16, 3, 0, 1, 2,
    9,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_wselect),
                     MVT::v64i16, 3, 0, 1, 2,
    9,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_wselect),
                     MVT::v64i16, 3, 0, 1, 2,
    0,
   22, MVT::v16i32,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vselect),
                     MVT::v16i32, 3, 0, 1, 2,
    9,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vselect),
                     MVT::v16i32, 3, 0, 1, 2,
    0,
   32, MVT::v32i32,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vselect),
                     MVT::v32i32, 3, 0, 1, 2,
    9,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_wselect),
                     MVT::v32i32, 3, 0, 1, 2,
    9,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_wselect),
                     MVT::v32i32, 3, 0, 1, 2,
    0,
   9, MVT::v256i8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_wselect),
                    MVT::v256i8, 3, 0, 1, 2,
   9, MVT::v128i16,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_wselect),
                    MVT::v128i16, 3, 0, 1, 2,
   9, MVT::v64i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_wselect),
                    MVT::v64i32, 3, 0, 1, 2,
   26, MVT::v2i1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrpr),
                    MVT::i32, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrpr),
                    MVT::i32, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_mux),
                    MVT::i32, 3, 0, 3, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrrp),
                    MVT::v2i1, 1, 5,
   26, MVT::v4i1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrpr),
                    MVT::i32, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrpr),
                    MVT::i32, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_mux),
                    MVT::i32, 3, 0, 3, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrrp),
                    MVT::v4i1, 1, 5,
   26, MVT::v8i1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrpr),
                    MVT::i32, 1, 1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_tfrpr),
                    MVT::i32, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_mux),
                    MVT::i32, 3, 0, 3, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrrp),
                    MVT::v8i1, 1, 5,
   68, MVT::v2i32,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 4,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 6,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_mux),
                    MVT::i32, 3, 0, 5, 7,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 10,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 2, 12,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_mux),
                    MVT::i32, 3, 0, 11, 13,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v2i32, 5, 3, 8, 9, 14, 15,
   39|128,1, MVT::v64i1,
    OPC_Scope, 54,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                     MVT::v64i8, 2, 1, 4,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 6,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                     MVT::v64i8, 2, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vselect),
                     MVT::v64i8, 3, 0, 5, 8,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                     MVT::v64i1, 2, 9, 11,
    54,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                     MVT::v64i8, 2, 1, 4,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 6,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                     MVT::v64i8, 2, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vselect),
                     MVT::v64i8, 3, 0, 5, 8,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                     MVT::v64i1, 2, 9, 11,
    54,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                     MVT::v128i8, 2, 1, 4,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 6,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                     MVT::v128i8, 2, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vselect),
                     MVT::v128i8, 3, 0, 5, 8,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                     MVT::v64i1, 2, 9, 11,
    0,
   54, MVT::v128i1,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                    MVT::v128i8, 2, 1, 4,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                    MVT::v128i8, 2, 2, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vselect),
                    MVT::v128i8, 3, 0, 5, 8,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 10,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                    MVT::v128i1, 2, 9, 11,
   39|128,1, MVT::v32i1,
    OPC_Scope, 54,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                     MVT::v64i8, 2, 1, 4,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 6,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                     MVT::v64i8, 2, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vselect),
                     MVT::v64i8, 3, 0, 5, 8,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                     MVT::v32i1, 2, 9, 11,
    54,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                     MVT::v64i8, 2, 1, 4,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 6,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                     MVT::v64i8, 2, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vselect),
                     MVT::v64i8, 3, 0, 5, 8,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                     MVT::v32i1, 2, 9, 11,
    54,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                     MVT::v128i8, 2, 1, 4,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 6,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                     MVT::v128i8, 2, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vselect),
                     MVT::v128i8, 3, 0, 5, 8,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                     MVT::v32i1, 2, 9, 11,
    0,
   112, MVT::v16i1,
    OPC_Scope, 54,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                     MVT::v64i8, 2, 1, 4,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 6,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                     MVT::v64i8, 2, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vselect),
                     MVT::v64i8, 3, 0, 5, 8,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                     MVT::v16i1, 2, 9, 11,
    54,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                     MVT::v64i8, 2, 1, 4,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 6,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                     MVT::v64i8, 2, 2, 7,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vselect),
                     MVT::v64i8, 3, 0, 5, 8,
     OPC_EmitIntegerI32, 127,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                     MVT::v16i1, 2, 9, 11,
    0,
   0,
  0,
 114, TARGET_VAL(HexagonISD::INSERT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 52,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 22,
    OPC_CheckPredicate, 11,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_insert),
                    MVT::i32, 4, 0, 1, 4, 5,
   22,
    OPC_CheckPredicate, 12,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitConvertToTarget2,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_insertp),
                    MVT::i64, 4, 0, 1, 4, 5,
   0,
  55,
   OPC_RecordChild3,
   OPC_SwitchType , 24, MVT::i32,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::i64, 5, 4, 2, 5, 3, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_insert_rp),
                    MVT::i32, 3, 0, 1, 7,
   24, MVT::i64,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::i64, 5, 4, 2, 5, 3, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_insertp_rp),
                    MVT::i64, 3, 0, 1, 7,
   0,
  0,
 109, TARGET_VAL(HexagonISD::EXTRACTU),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 50,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 21,
    OPC_CheckPredicate, 11,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitConvertToTarget1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_extractu),
                    MVT::i32, 3, 0, 3, 4,
   21,
    OPC_CheckPredicate, 12,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitConvertToTarget1,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_extractup),
                    MVT::i64, 3, 0, 3, 4,
   0,
  53,
   OPC_RecordChild2,
   OPC_SwitchType , 23, MVT::i32,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::i64, 5, 3, 1, 4, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_extractu_rp),
                    MVT::i32, 2, 0, 6,
   23, MVT::i64,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::i64, 5, 3, 1, 4, 2, 5,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_extractup_rp),
                    MVT::i64, 2, 0, 6,
   0,
  0,
 116|128,13, TARGET_VAL(ISD::INTRINSIC_VOID),
  OPC_RecordNode,
  OPC_Scope, 56,
   OPC_CheckChild1Integer, 112|128,49,
   OPC_MoveChild2,
   OPC_SwitchOpcode , 22, TARGET_VAL(HexagonISD::AT_PCREL),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 32,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::PS_call_instrprof_custom),
                    2, 1, 3,
   22, TARGET_VAL(HexagonISD::CONST32),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_MoveParent,
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 32,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::PS_call_instrprof_custom),
                    2, 1, 3,
   0,
  41,
   OPC_CheckChild1Integer, 58|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_pred_ai),
                    4, 1, 2, 5, 4,
   12,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_pred_ai),
                    4, 1, 2, 5, 4,
   0,
  25,
   OPC_CheckChild1Integer, 59|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_pred_ai),
                   4, 1, 2, 5, 4,
  41,
   OPC_CheckChild1Integer, 34|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_npred_ai),
                    4, 1, 2, 5, 4,
   12,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_npred_ai),
                    4, 1, 2, 5, 4,
   0,
  25,
   OPC_CheckChild1Integer, 35|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_npred_ai),
                   4, 1, 2, 5, 4,
  41,
   OPC_CheckChild1Integer, 28|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32Ub_pred_ai),
                    4, 1, 2, 5, 4,
   12,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32Ub_pred_ai),
                    4, 1, 2, 5, 4,
   0,
  25,
   OPC_CheckChild1Integer, 29|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32Ub_pred_ai),
                   4, 1, 2, 5, 4,
  41,
   OPC_CheckChild1Integer, 22|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32Ub_npred_ai),
                    4, 1, 2, 5, 4,
   12,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32Ub_npred_ai),
                    4, 1, 2, 5, 4,
   0,
  25,
   OPC_CheckChild1Integer, 23|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32Ub_npred_ai),
                   4, 1, 2, 5, 4,
  41,
   OPC_CheckChild1Integer, 50|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_pred_ai),
                    4, 1, 2, 5, 4,
   12,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_pred_ai),
                    4, 1, 2, 5, 4,
   0,
  25,
   OPC_CheckChild1Integer, 51|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_pred_ai),
                   4, 1, 2, 5, 4,
  41,
   OPC_CheckChild1Integer, 42|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_npred_ai),
                    4, 1, 2, 5, 4,
   12,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_npred_ai),
                    4, 1, 2, 5, 4,
   0,
  25,
   OPC_CheckChild1Integer, 43|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_npred_ai),
                   4, 1, 2, 5, 4,
  22,
   OPC_CheckChild1Integer, 88|128,49,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_Scope, 6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::Y2_dccleana),
                    1, 1,
   7,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::Y2_dccleana),
                    1, 1,
   0,
  22,
   OPC_CheckChild1Integer, 89|128,49,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_Scope, 6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::Y2_dccleaninva),
                    1, 1,
   7,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::Y2_dccleaninva),
                    1, 1,
   0,
  22,
   OPC_CheckChild1Integer, 91|128,49,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_Scope, 6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::Y2_dcinva),
                    1, 1,
   7,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::Y2_dcinva),
                    1, 1,
   0,
  22,
   OPC_CheckChild1Integer, 92|128,49,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_Scope, 6,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::Y2_dczeroa),
                    1, 1,
   7,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::Y2_dczeroa),
                    1, 1,
   0,
  25,
   OPC_CheckChild1Integer, 93|128,49,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_RecordChild3,
   OPC_Scope, 7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::Y4_l2fetch),
                    2, 1, 2,
   8,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::Y4_l2fetch),
                    2, 1, 2,
   0,
  25,
   OPC_CheckChild1Integer, 94|128,49,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_RecordChild3,
   OPC_Scope, 7,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::Y5_l2fetch),
                    2, 1, 2,
   8,
    OPC_CheckPatternPredicate0,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::Y5_l2fetch),
                    2, 1, 2,
   0,
  14,
   OPC_CheckChild1Integer, 90|128,49,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::Y2_dcfetchbo),
                   2, 1, 2,
  16,
   OPC_CheckChild1Integer, 95|128,49,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_CheckPatternPredicate, 68,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::Y6_dmlink),
                   2, 1, 2,
  13,
   OPC_CheckChild1Integer, 98|128,49,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_CheckPatternPredicate, 68,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::Y6_dmresume),
                   1, 1,
  13,
   OPC_CheckChild1Integer, 99|128,49,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_CheckPatternPredicate, 68,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::Y6_dmstart),
                   1, 1,
  35,
   OPC_CheckChild1Integer, 120|128,45,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_qpred_ai),
                    4, 1, 2, 4, 3,
   12,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_qpred_ai),
                    4, 1, 2, 4, 3,
   0,
  19,
   OPC_CheckChild1Integer, 121|128,45,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_qpred_ai),
                   4, 1, 2, 4, 3,
  35,
   OPC_CheckChild1Integer, 114|128,45,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nqpred_ai),
                    4, 1, 2, 4, 3,
   12,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nqpred_ai),
                    4, 1, 2, 4, 3,
   0,
  19,
   OPC_CheckChild1Integer, 115|128,45,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nqpred_ai),
                   4, 1, 2, 4, 3,
  35,
   OPC_CheckChild1Integer, 118|128,45,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_qpred_ai),
                    4, 1, 2, 4, 3,
   12,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_qpred_ai),
                    4, 1, 2, 4, 3,
   0,
  19,
   OPC_CheckChild1Integer, 119|128,45,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_qpred_ai),
                   4, 1, 2, 4, 3,
  35,
   OPC_CheckChild1Integer, 116|128,45,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_nqpred_ai),
                    4, 1, 2, 4, 3,
   12,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_nqpred_ai),
                    4, 1, 2, 4, 3,
   0,
  19,
   OPC_CheckChild1Integer, 117|128,45,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate4,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_nqpred_ai),
                   4, 1, 2, 4, 3,
  61,
   OPC_CheckChild1Integer, 64|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_qpred_ai),
                    4, 1, 2, 4, 3,
   12,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_qpred_ai),
                    4, 1, 2, 4, 3,
   12,
    OPC_CheckPatternPredicate5,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_qpred_ai),
                    4, 1, 2, 4, 3,
   12,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_qpred_ai),
                    4, 1, 2, 4, 3,
   0,
  35,
   OPC_CheckChild1Integer, 65|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_qpred_ai),
                    4, 1, 2, 4, 3,
   12,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_qpred_ai),
                    4, 1, 2, 4, 3,
   0,
  61,
   OPC_CheckChild1Integer, 40|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nqpred_ai),
                    4, 1, 2, 4, 3,
   12,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nqpred_ai),
                    4, 1, 2, 4, 3,
   12,
    OPC_CheckPatternPredicate5,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nqpred_ai),
                    4, 1, 2, 4, 3,
   12,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nqpred_ai),
                    4, 1, 2, 4, 3,
   0,
  35,
   OPC_CheckChild1Integer, 41|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nqpred_ai),
                    4, 1, 2, 4, 3,
   12,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nqpred_ai),
                    4, 1, 2, 4, 3,
   0,
  61,
   OPC_CheckChild1Integer, 56|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_qpred_ai),
                    4, 1, 2, 4, 3,
   12,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_qpred_ai),
                    4, 1, 2, 4, 3,
   12,
    OPC_CheckPatternPredicate5,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_qpred_ai),
                    4, 1, 2, 4, 3,
   12,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_qpred_ai),
                    4, 1, 2, 4, 3,
   0,
  35,
   OPC_CheckChild1Integer, 57|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_qpred_ai),
                    4, 1, 2, 4, 3,
   12,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_qpred_ai),
                    4, 1, 2, 4, 3,
   0,
  61,
   OPC_CheckChild1Integer, 48|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_nqpred_ai),
                    4, 1, 2, 4, 3,
   12,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_nqpred_ai),
                    4, 1, 2, 4, 3,
   12,
    OPC_CheckPatternPredicate5,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_nqpred_ai),
                    4, 1, 2, 4, 3,
   12,
    OPC_CheckPatternPredicate6,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_nqpred_ai),
                    4, 1, 2, 4, 3,
   0,
  35,
   OPC_CheckChild1Integer, 49|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_nqpred_ai),
                    4, 1, 2, 4, 3,
   12,
    OPC_CheckPatternPredicate7,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_nqpred_ai),
                    4, 1, 2, 4, 3,
   0,
  33,
   OPC_CheckChild1Integer, 60|128,48,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermh),
                    4, 1, 2, 3, 4,
   11,
    OPC_CheckPatternPredicate, 27,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermh),
                    4, 1, 2, 3, 4,
   0,
  18,
   OPC_CheckChild1Integer, 61|128,48,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckPatternPredicate, 31,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermh),
                   4, 1, 2, 3, 4,
  33,
   OPC_CheckChild1Integer, 62|128,48,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermh_add),
                    4, 1, 2, 3, 4,
   11,
    OPC_CheckPatternPredicate, 27,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermh_add),
                    4, 1, 2, 3, 4,
   0,
  18,
   OPC_CheckChild1Integer, 63|128,48,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckPatternPredicate, 31,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermh_add),
                   4, 1, 2, 3, 4,
  36,
   OPC_CheckChild1Integer, 64|128,48,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermhq),
                    5, 1, 2, 3, 4, 5,
   12,
    OPC_CheckPatternPredicate, 27,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermhq),
                    5, 1, 2, 3, 4, 5,
   0,
  20,
   OPC_CheckChild1Integer, 65|128,48,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_CheckPatternPredicate, 31,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermhq),
                   5, 1, 2, 3, 4, 5,
  33,
   OPC_CheckChild1Integer, 66|128,48,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermhw),
                    4, 1, 2, 3, 4,
   11,
    OPC_CheckPatternPredicate, 27,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermhw),
                    4, 1, 2, 3, 4,
   0,
  18,
   OPC_CheckChild1Integer, 67|128,48,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckPatternPredicate, 31,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermhw),
                   4, 1, 2, 3, 4,
  33,
   OPC_CheckChild1Integer, 68|128,48,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermhw_add),
                    4, 1, 2, 3, 4,
   11,
    OPC_CheckPatternPredicate, 27,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermhw_add),
                    4, 1, 2, 3, 4,
   0,
  18,
   OPC_CheckChild1Integer, 69|128,48,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckPatternPredicate, 31,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermhw_add),
                   4, 1, 2, 3, 4,
  36,
   OPC_CheckChild1Integer, 70|128,48,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermhwq),
                    5, 1, 2, 3, 4, 5,
   12,
    OPC_CheckPatternPredicate, 27,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermhwq),
                    5, 1, 2, 3, 4, 5,
   0,
  20,
   OPC_CheckChild1Integer, 71|128,48,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_CheckPatternPredicate, 31,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermhwq),
                   5, 1, 2, 3, 4, 5,
  33,
   OPC_CheckChild1Integer, 72|128,48,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermw),
                    4, 1, 2, 3, 4,
   11,
    OPC_CheckPatternPredicate, 27,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermw),
                    4, 1, 2, 3, 4,
   0,
  18,
   OPC_CheckChild1Integer, 73|128,48,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckPatternPredicate, 31,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermw),
                   4, 1, 2, 3, 4,
  33,
   OPC_CheckChild1Integer, 74|128,48,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_Scope, 11,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermw_add),
                    4, 1, 2, 3, 4,
   11,
    OPC_CheckPatternPredicate, 27,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermw_add),
                    4, 1, 2, 3, 4,
   0,
  18,
   OPC_CheckChild1Integer, 75|128,48,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckPatternPredicate, 31,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermw_add),
                   4, 1, 2, 3, 4,
  36,
   OPC_CheckChild1Integer, 76|128,48,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 26,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermwq),
                    5, 1, 2, 3, 4, 5,
   12,
    OPC_CheckPatternPredicate, 27,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermwq),
                    5, 1, 2, 3, 4, 5,
   0,
  20,
   OPC_CheckChild1Integer, 77|128,48,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_CheckPatternPredicate, 31,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::V6_vscattermwq),
                   5, 1, 2, 3, 4, 5,
  0,
 50, TARGET_VAL(HexagonISD::DCFETCH),
  OPC_RecordNode,
  OPC_Scope, 26,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 69,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckChild2Integer, 0,
   OPC_CheckChild2TypeI32,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::Y2_dcfetchbo),
                   2, 1, 3,
  19,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 69,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::Y2_dcfetchbo),
                   2, 1, 3,
  0,
 114|128,16, TARGET_VAL(ISD::MUL),
  OPC_Scope, 34,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckTypeI64,
   OPC_CheckComplexPat, /*CP*/8, /*#*/0,
   OPC_CheckComplexPat, /*CP*/8, /*#*/1,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 2, 4,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 3, 6,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_dpmpyss_s0),
                   MVT::i64, 2, 5, 7,
  43,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 17, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_dpmpyuu_s0),
                    MVT::i64, 2, 0, 1,
   17, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_dpmpyuu_s0),
                    MVT::i64, 2, 0, 1,
   0,
  83|128,1,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 48,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 12,
     OPC_CheckPredicate, 32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpysip),
                     MVT::i32, 2, 0, 2,
    12,
     OPC_CheckPredicate, 26,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpysmi),
                     MVT::i32, 2, 0, 2,
    15,
     OPC_CheckPredicate, 74,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 1, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpysin),
                     MVT::i32, 2, 0, 3,
    0,
   8,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyi),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_CheckType, MVT::i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_and),
                    MVT::i1, 2, 0, 1,
   9|128,1,
    OPC_CheckTypeI64,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 3,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 5,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::M2_dpmpyuu_s0),
                    MVT::i64, 2, 4, 6,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 7, 8,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 10,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 12,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::M2_maci),
                    MVT::i32, 3, 9, 11, 13,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 15,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 17,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::M2_maci),
                    MVT::i32, 3, 14, 16, 18,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 21,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 23,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::M2_dpmpyuu_s0),
                    MVT::i64, 2, 22, 24,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 25, 26,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::i64, 5, 2, 19, 20, 27, 28,
   0,
  13|128,11,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 65|128,5, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 99|128,1,
     OPC_CheckChild0Type, MVT::v64i8,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 108, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v64i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i16,
      OPC_Scope, 49,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv),
                       MVT::v128i8, 2, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv),
                       MVT::v128i8, 2, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 5, 6,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v64i16, 3, 4, 7, 9,
      49,
       OPC_CheckPatternPredicate3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv),
                       MVT::v128i8, 2, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv),
                       MVT::v128i8, 2, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 5, 6,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v64i16, 3, 4, 7, 9,
      0,
     108, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v64i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i16,
      OPC_Scope, 49,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv),
                       MVT::v128i8, 2, 1, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv),
                       MVT::v128i8, 2, 1, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 5, 6,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v64i16, 3, 4, 7, 9,
      49,
       OPC_CheckPatternPredicate3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv),
                       MVT::v128i8, 2, 1, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv),
                       MVT::v128i8, 2, 1, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 5, 6,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v64i16, 3, 4, 7, 9,
      0,
     0,
    121,
     OPC_CheckChild0Type, MVT::v128i8,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 55, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v128i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v128i16,
      OPC_CheckPatternPredicate4,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv),
                      MVT::v256i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv),
                      MVT::v256i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 5, 6,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v128i16, 3, 4, 7, 9,
     55, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v128i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v128i16,
      OPC_CheckPatternPredicate4,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv),
                      MVT::v256i8, 2, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv),
                      MVT::v256i8, 2, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 5, 6,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v128i16, 3, 4, 7, 9,
     0,
    99|128,1,
     OPC_CheckChild0Type, MVT::v32i16,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 108, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v32i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i32,
      OPC_Scope, 49,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhv),
                       MVT::v128i8, 2, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhv),
                       MVT::v128i8, 2, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 5, 6,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 4, 7, 9,
      49,
       OPC_CheckPatternPredicate3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhv),
                       MVT::v128i8, 2, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhv),
                       MVT::v128i8, 2, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 5, 6,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 4, 7, 9,
      0,
     108, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v32i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i32,
      OPC_Scope, 49,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus),
                       MVT::v128i8, 2, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus),
                       MVT::v128i8, 2, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 5, 6,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 4, 7, 9,
      49,
       OPC_CheckPatternPredicate3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus),
                       MVT::v128i8, 2, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus),
                       MVT::v128i8, 2, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 5, 6,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 4, 7, 9,
      0,
     0,
    121,
     OPC_CheckChild0Type, MVT::v64i16,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 55, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v64i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhv),
                      MVT::v256i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhv),
                      MVT::v256i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 5, 6,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v64i32, 3, 4, 7, 9,
     55, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v64i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus),
                      MVT::v256i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus),
                      MVT::v256i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 5, 6,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v64i32, 3, 4, 7, 9,
     0,
    0,
   65|128,5, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 99|128,1,
     OPC_CheckChild0Type, MVT::v64i8,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 108, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v64i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i16,
      OPC_Scope, 49,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyubv),
                       MVT::v128i8, 2, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyubv),
                       MVT::v128i8, 2, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 5, 6,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v64i16, 3, 4, 7, 9,
      49,
       OPC_CheckPatternPredicate3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyubv),
                       MVT::v128i8, 2, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyubv),
                       MVT::v128i8, 2, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 5, 6,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v64i16, 3, 4, 7, 9,
      0,
     108, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v64i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i16,
      OPC_Scope, 49,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv),
                       MVT::v128i8, 2, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv),
                       MVT::v128i8, 2, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 5, 6,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v64i16, 3, 4, 7, 9,
      49,
       OPC_CheckPatternPredicate3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv),
                       MVT::v128i8, 2, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv),
                       MVT::v128i8, 2, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 5, 6,
       OPC_EmitIntegerI32, 126,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v64i16, 3, 4, 7, 9,
      0,
     0,
    121,
     OPC_CheckChild0Type, MVT::v128i8,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 55, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v128i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v128i16,
      OPC_CheckPatternPredicate4,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyubv),
                      MVT::v256i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyubv),
                      MVT::v256i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 5, 6,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v128i16, 3, 4, 7, 9,
     55, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v128i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v128i16,
      OPC_CheckPatternPredicate4,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv),
                      MVT::v256i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybusv),
                      MVT::v256i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 5, 6,
      OPC_EmitIntegerI32, 126,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v128i16, 3, 4, 7, 9,
     0,
    99|128,1,
     OPC_CheckChild0Type, MVT::v32i16,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 108, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v32i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i32,
      OPC_Scope, 49,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyuhv),
                       MVT::v128i8, 2, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyuhv),
                       MVT::v128i8, 2, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 5, 6,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 4, 7, 9,
      49,
       OPC_CheckPatternPredicate3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyuhv),
                       MVT::v128i8, 2, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyuhv),
                       MVT::v128i8, 2, 0, 1,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 5, 6,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 4, 7, 9,
      0,
     108, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v32i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i32,
      OPC_Scope, 49,
       OPC_CheckPatternPredicate2,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus),
                       MVT::v128i8, 2, 1, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus),
                       MVT::v128i8, 2, 1, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 5, 6,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 4, 7, 9,
      49,
       OPC_CheckPatternPredicate3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus),
                       MVT::v128i8, 2, 1, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 2, 3,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus),
                       MVT::v128i8, 2, 1, 0,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v64i8, 2, 5, 6,
       OPC_EmitIntegerI32, 124,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                       MVT::i32, 1, 8,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                       MVT::v32i32, 3, 4, 7, 9,
      0,
     0,
    121,
     OPC_CheckChild0Type, MVT::v64i16,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 55, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v64i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyuhv),
                      MVT::v256i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyuhv),
                      MVT::v256i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 5, 6,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v64i32, 3, 4, 7, 9,
     55, TARGET_VAL(ISD::SIGN_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v64i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i32,
      OPC_CheckPatternPredicate4,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus),
                      MVT::v256i8, 2, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhus),
                      MVT::v256i8, 2, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v128i8, 2, 5, 6,
      OPC_EmitIntegerI32, 124,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 8,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffvdd),
                      MVT::v64i32, 3, 4, 7, 9,
     0,
    0,
   0,
  59|128,3,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 7, MVT::v2i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_and),
                    MVT::v2i1, 2, 0, 1,
   7, MVT::v4i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_and),
                    MVT::v4i1, 2, 0, 1,
   7, MVT::v8i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_and),
                    MVT::v8i1, 2, 0, 1,
   7, MVT::v2i32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vmulw),
                    MVT::v2i32, 2, 0, 1,
   20, MVT::v32i16,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyih),
                     MVT::v32i16, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyih),
                     MVT::v32i16, 2, 0, 1,
    0,
   8, MVT::v64i16,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyih),
                    MVT::v64i16, 2, 0, 1,
   13, MVT::v4i8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::M5_vmpybuu),
                    MVT::i64, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vtrunehb),
                    MVT::v4i8, 1, 2,
   36, MVT::v16i32,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyieoh),
                     MVT::v64i8, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiewuh_acc),
                     MVT::v16i32, 3, 2, 0, 1,
    16,
     OPC_CheckPatternPredicate3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyieoh),
                     MVT::v64i8, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiewuh_acc),
                     MVT::v16i32, 3, 2, 0, 1,
    0,
   16, MVT::v32i32,
    OPC_CheckPatternPredicate4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyieoh),
                    MVT::v128i8, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyiewuh_acc),
                    MVT::v32i32, 3, 2, 0, 1,
   29, MVT::v2i16,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::i64, 0,
    OPC_EmitNode2None, TARGET_VAL(Hexagon::M2_vmpy2s_s0),
                    MVT::i64, MVT::i1, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_vtrunewh),
                    MVT::i64, 2, 2, 3,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i16, 2, 5, 6,
   84, MVT::v64i8,
    OPC_Scope, 40,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv),
                     MVT::v128i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv),
                     MVT::v128i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 5, 6,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                     MVT::v64i8, 2, 4, 7,
    40,
     OPC_CheckPatternPredicate3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv),
                     MVT::v128i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv),
                     MVT::v128i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 5, 6,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                     MVT::v64i8, 2, 4, 7,
    0,
   40, MVT::v128i8,
    OPC_CheckPatternPredicate4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv),
                    MVT::v256i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv),
                    MVT::v256i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 5, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                    MVT::v128i8, 2, 4, 7,
   59, MVT::v4i16,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 2,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 4,
    OPC_EmitNode2None, TARGET_VAL(Hexagon::M2_vmpy2s_s0),
                    MVT::i64, MVT::i1, 2, 3, 5,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 8,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 10,
    OPC_EmitNode2None, TARGET_VAL(Hexagon::M2_vmpy2s_s0),
                    MVT::i64, MVT::i1, 2, 9, 11,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vtrunewh),
                    MVT::v4i16, 2, 6, 12,
   78, MVT::v8i8,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 3,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 5,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::M5_vmpybuu),
                    MVT::i64, 2, 4, 6,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_vtrunehb),
                    MVT::i32, 1, 7,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 10,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 1, 12,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::M5_vmpybuu),
                    MVT::i64, 2, 11, 13,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_vtrunehb),
                    MVT::i32, 1, 14,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v8i8, 5, 2, 8, 9, 15, 16,
   0,
  0,
 22|128,15, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
  OPC_RecordNode,
  OPC_Scope, 26,
   OPC_CheckChild1Integer, 107|128,49,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 64,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::S2_storerb_pci),
                   MVT::i32, 4, 1, 4, 3, 2,
  26,
   OPC_CheckChild1Integer, 109|128,49,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 61,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::S2_storerh_pci),
                   MVT::i32, 4, 1, 4, 3, 2,
  26,
   OPC_CheckChild1Integer, 111|128,49,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 65,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::S2_storeri_pci),
                   MVT::i32, 4, 1, 4, 3, 2,
  26,
   OPC_CheckChild1Integer, 108|128,49,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 63,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::S2_storerd_pci),
                   MVT::i32, 4, 1, 4, 3, 2,
  26,
   OPC_CheckChild1Integer, 110|128,49,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckPredicate, 61,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::S2_storerf_pci),
                   MVT::i32, 4, 1, 4, 3, 2,
  44,
   OPC_CheckChild1Integer, 60|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_CheckTypeI32,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32b_pred_pi),
                    MVT::i32, 4, 1, 2, 5, 4,
   13,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32b_pred_pi),
                    MVT::i32, 4, 1, 2, 5, 4,
   0,
  27,
   OPC_CheckChild1Integer, 61|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32b_pred_pi),
                   MVT::i32, 4, 1, 2, 5, 4,
  44,
   OPC_CheckChild1Integer, 36|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_CheckTypeI32,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32b_npred_pi),
                    MVT::i32, 4, 1, 2, 5, 4,
   13,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32b_npred_pi),
                    MVT::i32, 4, 1, 2, 5, 4,
   0,
  27,
   OPC_CheckChild1Integer, 37|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32b_npred_pi),
                   MVT::i32, 4, 1, 2, 5, 4,
  44,
   OPC_CheckChild1Integer, 30|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_CheckTypeI32,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32Ub_pred_pi),
                    MVT::i32, 4, 1, 2, 5, 4,
   13,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32Ub_pred_pi),
                    MVT::i32, 4, 1, 2, 5, 4,
   0,
  27,
   OPC_CheckChild1Integer, 31|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32Ub_pred_pi),
                   MVT::i32, 4, 1, 2, 5, 4,
  44,
   OPC_CheckChild1Integer, 24|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_CheckTypeI32,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32Ub_npred_pi),
                    MVT::i32, 4, 1, 2, 5, 4,
   13,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32Ub_npred_pi),
                    MVT::i32, 4, 1, 2, 5, 4,
   0,
  27,
   OPC_CheckChild1Integer, 25|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32Ub_npred_pi),
                   MVT::i32, 4, 1, 2, 5, 4,
  44,
   OPC_CheckChild1Integer, 52|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_CheckTypeI32,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_pred_pi),
                    MVT::i32, 4, 1, 2, 5, 4,
   13,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_pred_pi),
                    MVT::i32, 4, 1, 2, 5, 4,
   0,
  27,
   OPC_CheckChild1Integer, 53|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_pred_pi),
                   MVT::i32, 4, 1, 2, 5, 4,
  44,
   OPC_CheckChild1Integer, 44|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_CheckTypeI32,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_npred_pi),
                    MVT::i32, 4, 1, 2, 5, 4,
   13,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_npred_pi),
                    MVT::i32, 4, 1, 2, 5, 4,
   0,
  27,
   OPC_CheckChild1Integer, 45|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild5,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_npred_pi),
                   MVT::i32, 4, 1, 2, 5, 4,
  12,
   OPC_CheckChild1Integer, 11|128,36,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::L2_loadw_locked),
                   MVT::i32, 1, 1,
  12,
   OPC_CheckChild1Integer, 12|128,36,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::L4_loadd_locked),
                   MVT::i64, 1, 1,
  17,
   OPC_CheckChild1Integer, 110|128,39,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckTypeI32,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::S2_storerh_pbr),
                   MVT::i32, 3, 1, 3, 2,
  17,
   OPC_CheckChild1Integer, 101|128,39,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckTypeI32,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::S2_storerb_pbr),
                   MVT::i32, 3, 1, 3, 2,
  17,
   OPC_CheckChild1Integer, 113|128,39,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckTypeI32,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::S2_storeri_pbr),
                   MVT::i32, 3, 1, 3, 2,
  17,
   OPC_CheckChild1Integer, 107|128,39,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckTypeI32,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::S2_storerf_pbr),
                   MVT::i32, 3, 1, 3, 2,
  17,
   OPC_CheckChild1Integer, 104|128,39,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckTypeI32,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::S2_storerd_pbr),
                   MVT::i32, 3, 1, 3, 2,
  11,
   OPC_CheckChild1Integer, 96|128,49,
   OPC_CheckPatternPredicate, 68,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::Y6_dmpause),
                   MVT::i32, 0,
  11,
   OPC_CheckChild1Integer, 97|128,49,
   OPC_CheckPatternPredicate, 68,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::Y6_dmpoll),
                   MVT::i32, 0,
  11,
   OPC_CheckChild1Integer, 100|128,49,
   OPC_CheckPatternPredicate, 68,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::Y6_dmwait),
                   MVT::i32, 0,
  37,
   OPC_CheckChild1Integer, 62|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckTypeI32,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32b_pred_ppu),
                    MVT::i32, 4, 1, 2, 3, 4,
   12,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32b_pred_ppu),
                    MVT::i32, 4, 1, 2, 3, 4,
   0,
  21,
   OPC_CheckChild1Integer, 63|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32b_pred_ppu),
                   MVT::i32, 4, 1, 2, 3, 4,
  37,
   OPC_CheckChild1Integer, 38|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckTypeI32,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32b_npred_ppu),
                    MVT::i32, 4, 1, 2, 3, 4,
   12,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32b_npred_ppu),
                    MVT::i32, 4, 1, 2, 3, 4,
   0,
  21,
   OPC_CheckChild1Integer, 39|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32b_npred_ppu),
                   MVT::i32, 4, 1, 2, 3, 4,
  37,
   OPC_CheckChild1Integer, 32|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckTypeI32,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32Ub_pred_ppu),
                    MVT::i32, 4, 1, 2, 3, 4,
   12,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32Ub_pred_ppu),
                    MVT::i32, 4, 1, 2, 3, 4,
   0,
  21,
   OPC_CheckChild1Integer, 33|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32Ub_pred_ppu),
                   MVT::i32, 4, 1, 2, 3, 4,
  37,
   OPC_CheckChild1Integer, 26|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckTypeI32,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32Ub_npred_ppu),
                    MVT::i32, 4, 1, 2, 3, 4,
   12,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32Ub_npred_ppu),
                    MVT::i32, 4, 1, 2, 3, 4,
   0,
  21,
   OPC_CheckChild1Integer, 27|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32Ub_npred_ppu),
                   MVT::i32, 4, 1, 2, 3, 4,
  37,
   OPC_CheckChild1Integer, 54|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckTypeI32,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_pred_ppu),
                    MVT::i32, 4, 1, 2, 3, 4,
   12,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_pred_ppu),
                    MVT::i32, 4, 1, 2, 3, 4,
   0,
  21,
   OPC_CheckChild1Integer, 55|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_pred_ppu),
                   MVT::i32, 4, 1, 2, 3, 4,
  37,
   OPC_CheckChild1Integer, 46|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckTypeI32,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_npred_ppu),
                    MVT::i32, 4, 1, 2, 3, 4,
   12,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_npred_ppu),
                    MVT::i32, 4, 1, 2, 3, 4,
   0,
  21,
   OPC_CheckChild1Integer, 47|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vS32b_nt_npred_ppu),
                   MVT::i32, 4, 1, 2, 3, 4,
  20,
   OPC_CheckChild1Integer, 116|128,39,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_RecordChild3,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1Chain, TARGET_VAL(Hexagon::S2_storew_locked),
                   MVT::i1, 2, 1, 2,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 3,
  20,
   OPC_CheckChild1Integer, 47|128,40,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_RecordChild3,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1Chain, TARGET_VAL(Hexagon::S4_stored_locked),
                   MVT::i1, 2, 1, 2,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::C2_tfrpr),
                   MVT::i32, 1, 3,
  40,
   OPC_CheckChild1Integer, 16|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 39,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vL32b_pred_ai),
                    MVT::v16i32, 3, 1, 2, 4,
   12,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vL32b_pred_ai),
                    MVT::v16i32, 3, 1, 2, 4,
   0,
  24,
   OPC_CheckChild1Integer, 17|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 41,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vL32b_pred_ai),
                   MVT::v32i32, 3, 1, 2, 4,
  40,
   OPC_CheckChild1Integer, 126|128,40,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 39,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vL32b_npred_ai),
                    MVT::v16i32, 3, 1, 2, 4,
   12,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vL32b_npred_ai),
                    MVT::v16i32, 3, 1, 2, 4,
   0,
  24,
   OPC_CheckChild1Integer, 127|128,40,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 41,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vL32b_npred_ai),
                   MVT::v32i32, 3, 1, 2, 4,
  45,
   OPC_CheckChild1Integer, 18|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate, 39,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo2Chain, TARGET_VAL(Hexagon::V6_vL32b_pred_pi),
                    MVT::v16i32, MVT::i32, 3, 1, 2, 4,
   13,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo2Chain, TARGET_VAL(Hexagon::V6_vL32b_pred_pi),
                    MVT::v16i32, MVT::i32, 3, 1, 2, 4,
   0,
  28,
   OPC_CheckChild1Integer, 19|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_CheckPatternPredicate, 41,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo2Chain, TARGET_VAL(Hexagon::V6_vL32b_pred_pi),
                   MVT::v32i32, MVT::i32, 3, 1, 2, 4,
  45,
   OPC_CheckChild1Integer, 0|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate, 39,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo2Chain, TARGET_VAL(Hexagon::V6_vL32b_npred_pi),
                    MVT::v16i32, MVT::i32, 3, 1, 2, 4,
   13,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo2Chain, TARGET_VAL(Hexagon::V6_vL32b_npred_pi),
                    MVT::v16i32, MVT::i32, 3, 1, 2, 4,
   0,
  28,
   OPC_CheckChild1Integer, 1|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_CheckPatternPredicate, 41,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo2Chain, TARGET_VAL(Hexagon::V6_vL32b_npred_pi),
                   MVT::v32i32, MVT::i32, 3, 1, 2, 4,
  40,
   OPC_CheckChild1Integer, 10|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 39,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vL32b_nt_pred_ai),
                    MVT::v16i32, 3, 1, 2, 4,
   12,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vL32b_nt_pred_ai),
                    MVT::v16i32, 3, 1, 2, 4,
   0,
  24,
   OPC_CheckChild1Integer, 11|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 41,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vL32b_nt_pred_ai),
                   MVT::v32i32, 3, 1, 2, 4,
  40,
   OPC_CheckChild1Integer, 4|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 39,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vL32b_nt_npred_ai),
                    MVT::v16i32, 3, 1, 2, 4,
   12,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vL32b_nt_npred_ai),
                    MVT::v16i32, 3, 1, 2, 4,
   0,
  24,
   OPC_CheckChild1Integer, 5|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 41,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::V6_vL32b_nt_npred_ai),
                   MVT::v32i32, 3, 1, 2, 4,
  45,
   OPC_CheckChild1Integer, 12|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate, 39,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo2Chain, TARGET_VAL(Hexagon::V6_vL32b_nt_pred_pi),
                    MVT::v16i32, MVT::i32, 3, 1, 2, 4,
   13,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo2Chain, TARGET_VAL(Hexagon::V6_vL32b_nt_pred_pi),
                    MVT::v16i32, MVT::i32, 3, 1, 2, 4,
   0,
  28,
   OPC_CheckChild1Integer, 13|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_CheckPatternPredicate, 41,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo2Chain, TARGET_VAL(Hexagon::V6_vL32b_nt_pred_pi),
                   MVT::v32i32, MVT::i32, 3, 1, 2, 4,
  45,
   OPC_CheckChild1Integer, 6|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate, 39,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo2Chain, TARGET_VAL(Hexagon::V6_vL32b_nt_npred_pi),
                    MVT::v16i32, MVT::i32, 3, 1, 2, 4,
   13,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo2Chain, TARGET_VAL(Hexagon::V6_vL32b_nt_npred_pi),
                    MVT::v16i32, MVT::i32, 3, 1, 2, 4,
   0,
  28,
   OPC_CheckChild1Integer, 7|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_CheckPatternPredicate, 41,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo2Chain, TARGET_VAL(Hexagon::V6_vL32b_nt_npred_pi),
                   MVT::v32i32, MVT::i32, 3, 1, 2, 4,
  38,
   OPC_CheckChild1Integer, 20|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 39,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(Hexagon::V6_vL32b_pred_ppu),
                    MVT::v16i32, MVT::i32, 3, 1, 2, 3,
   12,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(Hexagon::V6_vL32b_pred_ppu),
                    MVT::v16i32, MVT::i32, 3, 1, 2, 3,
   0,
  22,
   OPC_CheckChild1Integer, 21|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_CheckPatternPredicate, 41,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(Hexagon::V6_vL32b_pred_ppu),
                   MVT::v32i32, MVT::i32, 3, 1, 2, 3,
  38,
   OPC_CheckChild1Integer, 2|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 39,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(Hexagon::V6_vL32b_npred_ppu),
                    MVT::v16i32, MVT::i32, 3, 1, 2, 3,
   12,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(Hexagon::V6_vL32b_npred_ppu),
                    MVT::v16i32, MVT::i32, 3, 1, 2, 3,
   0,
  22,
   OPC_CheckChild1Integer, 3|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_CheckPatternPredicate, 41,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(Hexagon::V6_vL32b_npred_ppu),
                   MVT::v32i32, MVT::i32, 3, 1, 2, 3,
  38,
   OPC_CheckChild1Integer, 14|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 39,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(Hexagon::V6_vL32b_nt_pred_ppu),
                    MVT::v16i32, MVT::i32, 3, 1, 2, 3,
   12,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(Hexagon::V6_vL32b_nt_pred_ppu),
                    MVT::v16i32, MVT::i32, 3, 1, 2, 3,
   0,
  22,
   OPC_CheckChild1Integer, 15|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_CheckPatternPredicate, 41,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(Hexagon::V6_vL32b_nt_pred_ppu),
                   MVT::v32i32, MVT::i32, 3, 1, 2, 3,
  38,
   OPC_CheckChild1Integer, 8|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 39,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(Hexagon::V6_vL32b_nt_npred_ppu),
                    MVT::v16i32, MVT::i32, 3, 1, 2, 3,
   12,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo2Chain, TARGET_VAL(Hexagon::V6_vL32b_nt_npred_ppu),
                    MVT::v16i32, MVT::i32, 3, 1, 2, 3,
   0,
  22,
   OPC_CheckChild1Integer, 9|128,41,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_RecordChild4,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_CheckPatternPredicate, 41,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo2Chain, TARGET_VAL(Hexagon::V6_vL32b_nt_npred_ppu),
                   MVT::v32i32, MVT::i32, 3, 1, 2, 3,
  0,
 6|128,4, TARGET_VAL(ISD::SHL),
  OPC_Scope, 37,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 14, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 16,
    OPC_CheckChild1TypeI32,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_addh_h16_ll),
                    MVT::i32, 2, 0, 1,
   14, TARGET_VAL(ISD::SUB),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 16,
    OPC_CheckChild1TypeI32,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_subh_h16_ll),
                    MVT::i32, 2, 0, 1,
   0,
  92|128,3,
   OPC_RecordChild0,
   OPC_Scope, 10,
    OPC_CheckChild1Integer, 16,
    OPC_CheckChild1TypeI32,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_aslh),
                    MVT::i32, 1, 0,
   18,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 59,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckTypeI32,
    OPC_EmitConvertToTarget0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S4_lsli),
                    MVT::i32, 2, 2, 1,
   59,
    OPC_RecordChild1,
    OPC_Scope, 33,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckTypeI32,
     OPC_Scope, 12,
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_r),
                      MVT::i32, 2, 0, 2,
     12,
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_CheckTypeI64,
      OPC_EmitConvertToTarget1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_p),
                      MVT::i64, 2, 0, 2,
     0,
    21,
     OPC_CheckChild1TypeI32,
     OPC_SwitchType , 7, MVT::i32,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_r),
                      MVT::i32, 2, 0, 1,
     7, MVT::i64,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_p),
                      MVT::i64, 2, 0, 1,
     0,
    0,
   46,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 16,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_vw),
                     MVT::v2i32, 2, 0, 2,
    16,
     OPC_CheckPredicate, 41,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_vh),
                     MVT::v4i16, 2, 0, 2,
    0,
   78|128,2,
    OPC_RecordChild1,
    OPC_SwitchType , 22, MVT::v32i16,
     OPC_CheckChild1Type, MVT::v32i16,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslhv),
                      MVT::v32i16, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslhv),
                      MVT::v32i16, 2, 0, 1,
     0,
    10, MVT::v64i16,
     OPC_CheckChild1Type, MVT::v64i16,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslhv),
                     MVT::v64i16, 2, 0, 1,
    22, MVT::v16i32,
     OPC_CheckChild1Type, MVT::v16i32,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslwv),
                      MVT::v16i32, 2, 0, 1,
     8,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslwv),
                      MVT::v16i32, 2, 0, 1,
     0,
    10, MVT::v32i32,
     OPC_CheckChild1Type, MVT::v32i32,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslwv),
                     MVT::v32i32, 2, 0, 1,
    42|128,1, MVT::v64i8,
     OPC_CheckChild1Type, MVT::v64i8,
     OPC_Scope, 82,
      OPC_CheckPatternPredicate2,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                      MVT::v128i8, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                      MVT::v128i8, 1, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 5, 6,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslhv),
                      MVT::v64i8, 2, 4, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                      MVT::v128i8, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 9, 10,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                      MVT::v128i8, 1, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 12, 13,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslhv),
                      MVT::v64i8, 2, 11, 14,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                      MVT::v64i8, 2, 8, 15,
     82,
      OPC_CheckPatternPredicate3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                      MVT::v128i8, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 2, 3,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                      MVT::v128i8, 1, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 5, 6,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslhv),
                      MVT::v64i8, 2, 4, 7,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                      MVT::v128i8, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 9, 10,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                      MVT::v128i8, 1, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 12, 13,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslhv),
                      MVT::v64i8, 2, 11, 14,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                      MVT::v64i8, 2, 8, 15,
     0,
    84, MVT::v128i8,
     OPC_CheckChild1Type, MVT::v128i8,
     OPC_CheckPatternPredicate4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                     MVT::v256i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                     MVT::v256i8, 1, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 5, 6,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslhv),
                     MVT::v128i8, 2, 4, 7,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                     MVT::v256i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 9, 10,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                     MVT::v256i8, 1, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 12, 13,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslhv),
                     MVT::v128i8, 2, 11, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                     MVT::v128i8, 2, 8, 15,
    0,
   0,
  0,
 91|128,2, TARGET_VAL(ISD::CTLZ),
  OPC_Scope, 38,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_SwitchType , 8, MVT::i32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_cl1),
                    MVT::i32, 1, 0,
   17, MVT::i64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_cl1p),
                    MVT::i32, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_combineir),
                    MVT::i64, 2, 1, 2,
   0,
  48|128,2,
   OPC_RecordChild0,
   OPC_SwitchType , 7, MVT::i32,
    OPC_CheckChild0TypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_cl0),
                    MVT::i32, 1, 0,
   16, MVT::i64,
    OPC_CheckChild0TypeI64,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_cl0p),
                    MVT::i32, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_combineir),
                    MVT::i64, 2, 1, 2,
   20, MVT::v32i16,
    OPC_CheckChild0Type, MVT::v32i16,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcl0h),
                     MVT::v32i16, 1, 0,
    7,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcl0h),
                     MVT::v32i16, 1, 0,
    0,
   9, MVT::v64i16,
    OPC_CheckChild0Type, MVT::v64i16,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcl0h),
                    MVT::v64i16, 1, 0,
   20, MVT::v16i32,
    OPC_CheckChild0Type, MVT::v16i32,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcl0w),
                     MVT::v16i32, 1, 0,
    7,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcl0w),
                     MVT::v16i32, 1, 0,
    0,
   9, MVT::v32i32,
    OPC_CheckChild0Type, MVT::v32i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcl0w),
                    MVT::v32i32, 1, 0,
   8|128,1, MVT::v64i8,
    OPC_CheckChild0Type, MVT::v64i8,
    OPC_Scope, 65,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                     MVT::v128i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 1, 2,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vcl0h),
                     MVT::v64i8, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                     MVT::v128i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 5, 6,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vcl0h),
                     MVT::v64i8, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                     MVT::v64i8, 2, 4, 8,
     OPC_EmitIntegerI32, 8,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatib),
                     MVT::v64i8, 1, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubb),
                     MVT::v64i8, 2, 9, 11,
    65,
     OPC_CheckPatternPredicate3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                     MVT::v128i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 1, 2,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vcl0h),
                     MVT::v64i8, 1, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                     MVT::v128i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 5, 6,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vcl0h),
                     MVT::v64i8, 1, 7,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                     MVT::v64i8, 2, 4, 8,
     OPC_EmitIntegerI32, 8,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatib),
                     MVT::v64i8, 1, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubb),
                     MVT::v64i8, 2, 9, 11,
    0,
   67, MVT::v128i8,
    OPC_CheckChild0Type, MVT::v128i8,
    OPC_CheckPatternPredicate4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v256i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vcl0h),
                    MVT::v128i8, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v256i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 5, 6,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vcl0h),
                    MVT::v128i8, 1, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                    MVT::v128i8, 2, 4, 8,
    OPC_EmitIntegerI32, 8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatib),
                    MVT::v128i8, 1, 10,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubb),
                    MVT::v128i8, 2, 9, 11,
   0,
  0,
 72, TARGET_VAL(ISD::CTTZ),
  OPC_Scope, 38,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_SwitchType , 8, MVT::i32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_ct1),
                    MVT::i32, 1, 0,
   17, MVT::i64,
    OPC_MoveParent,
    OPC_CheckTypeI64,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_ct1p),
                    MVT::i32, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_combineir),
                    MVT::i64, 2, 1, 2,
   0,
  30,
   OPC_RecordChild0,
   OPC_SwitchType , 7, MVT::i32,
    OPC_CheckChild0TypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_ct0),
                    MVT::i32, 1, 0,
   16, MVT::i64,
    OPC_CheckChild0TypeI64,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_ct0p),
                    MVT::i32, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_combineir),
                    MVT::i64, 2, 1, 2,
   0,
  0,
 115, TARGET_VAL(ISD::BRCOND),
  OPC_RecordNode,
  OPC_Scope, 93,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 19, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_CheckType, MVT::i1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::J2_jumpf),
                    MVT::i32, 2, 1, 2,
   65, TARGET_VAL(ISD::SETCC),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::i1,
    OPC_CheckType, MVT::i1,
    OPC_Scope, 18,
     OPC_CheckChild1Integer, 127,
     OPC_CheckChild2CondCode, ISD::SETNE,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::J2_jumpf),
                     MVT::i32, 2, 1, 2,
    38,
     OPC_CheckChild1Integer, 0,
     OPC_Scope, 16,
      OPC_CheckChild2CondCode, ISD::SETEQ,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::J2_jumpf),
                      MVT::i32, 2, 1, 2,
     16,
      OPC_CheckChild2CondCode, ISD::SETNE,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::J2_jumpt),
                      MVT::i32, 2, 1, 2,
     0,
    0,
   0,
  17,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::i1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::J2_jumpt),
                   MVT::i32, 2, 1, 2,
  0,
 22, 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_EmitConvertToTarget1,
  OPC_EmitConvertToTarget2,
  OPC_MorphNodeTo0, TARGET_VAL(Hexagon::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
                  2, 3, 4,
 23, 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_EmitConvertToTarget1,
  OPC_EmitConvertToTarget2,
  OPC_MorphNodeTo0, TARGET_VAL(Hexagon::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
                  2, 3, 4,
 42, TARGET_VAL(HexagonISD::AT_GOT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 11,
   OPC_CheckChild2Integer, 0,
   OPC_CheckChild2TypeI32,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::L2_loadri_io),
                   MVT::i32, 2, 0, 2,
  25,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 75,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_EmitConvertToTarget1,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::L2_loadri_io),
                   MVT::i32, 2, 0, 3,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_addi),
                   MVT::i32, 2, 4, 5,
  0,
 62|128,3, TARGET_VAL(ISD::SRL),
  OPC_RecordChild0,
  OPC_Scope, 59,
   OPC_RecordChild1,
   OPC_Scope, 33,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 12,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_r),
                     MVT::i32, 2, 0, 2,
    12,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckTypeI64,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_p),
                     MVT::i64, 2, 0, 2,
    0,
   21,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 7, MVT::i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_r),
                     MVT::i32, 2, 0, 1,
    7, MVT::i64,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_p),
                     MVT::i64, 2, 0, 1,
    0,
   0,
  46,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI32,
   OPC_Scope, 16,
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_vw),
                    MVT::v2i32, 2, 0, 2,
   16,
    OPC_CheckPredicate, 41,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_vh),
                    MVT::v4i16, 2, 0, 2,
   0,
  78|128,2,
   OPC_RecordChild1,
   OPC_SwitchType , 22, MVT::v32i16,
    OPC_CheckChild1Type, MVT::v32i16,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                     MVT::v32i16, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                     MVT::v32i16, 2, 0, 1,
    0,
   10, MVT::v64i16,
    OPC_CheckChild1Type, MVT::v64i16,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                    MVT::v64i16, 2, 0, 1,
   22, MVT::v16i32,
    OPC_CheckChild1Type, MVT::v16i32,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                     MVT::v16i32, 2, 0, 1,
    8,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                     MVT::v16i32, 2, 0, 1,
    0,
   10, MVT::v32i32,
    OPC_CheckChild1Type, MVT::v32i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                    MVT::v32i32, 2, 0, 1,
   42|128,1, MVT::v64i8,
    OPC_CheckChild1Type, MVT::v64i8,
    OPC_Scope, 82,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                     MVT::v128i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                     MVT::v128i8, 1, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 5, 6,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                     MVT::v64i8, 2, 4, 7,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                     MVT::v128i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 9, 10,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                     MVT::v128i8, 1, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 12, 13,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                     MVT::v64i8, 2, 11, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                     MVT::v64i8, 2, 8, 15,
    82,
     OPC_CheckPatternPredicate3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                     MVT::v128i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 2, 3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                     MVT::v128i8, 1, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 5, 6,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                     MVT::v64i8, 2, 4, 7,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                     MVT::v128i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 9, 10,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                     MVT::v128i8, 1, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 12, 13,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                     MVT::v64i8, 2, 11, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                     MVT::v64i8, 2, 8, 15,
    0,
   84, MVT::v128i8,
    OPC_CheckChild1Type, MVT::v128i8,
    OPC_CheckPatternPredicate4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v256i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v256i8, 1, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 5, 6,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                    MVT::v128i8, 2, 4, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v256i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 9, 10,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v256i8, 1, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 12, 13,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                    MVT::v128i8, 2, 11, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                    MVT::v128i8, 2, 8, 15,
   0,
  0,
 28, TARGET_VAL(HexagonISD::TSTBIT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 15,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 11,
   OPC_MoveParent,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_tstbit_i),
                   MVT::i1, 2, 0, 2,
  7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_tstbit_r),
                   MVT::i1, 2, 0, 1,
  0,
 37, TARGET_VAL(HexagonISD::CONST32),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_SwitchOpcode , 8, TARGET_VAL(ISD::TargetGlobalTLSAddress),
   OPC_MoveParent,
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_tfrsi),
                   MVT::i32, 1, 1,
  8, TARGET_VAL(ISD::BasicBlock),
   OPC_MoveParent,
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_tfrsi),
                   MVT::i32, 1, 1,
  8, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_MoveParent,
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_tfrsi),
                   MVT::i32, 1, 1,
  0,
 26, TARGET_VAL(HexagonISD::CONST32_GP),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_SwitchOpcode , 8, TARGET_VAL(ISD::TargetBlockAddress),
   OPC_MoveParent,
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_tfrsi),
                   MVT::i32, 1, 1,
  8, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_MoveParent,
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_tfrsi),
                   MVT::i32, 1, 1,
  0,
 14, TARGET_VAL(HexagonISD::JT),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetJumpTable),
  OPC_MoveParent,
  OPC_CheckTypeI32,
  OPC_EmitConvertToTarget0,
  OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_tfrsi),
                  MVT::i32, 1, 1,
 14, TARGET_VAL(HexagonISD::CP),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstantPool),
  OPC_MoveParent,
  OPC_CheckTypeI32,
  OPC_EmitConvertToTarget0,
  OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_tfrsi),
                  MVT::i32, 1, 1,
 40, TARGET_VAL(HexagonISD::TC_RETURN),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_Scope, 25,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 8, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_tailcall_i), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
                    1, 1,
   8, TARGET_VAL(ISD::TargetExternalSymbol),
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_tailcall_i), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
                    1, 1,
   0,
  8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(Hexagon::PS_tailcall_r), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
                   MVT::i32, 1, 1,
  0,
 54, TARGET_VAL(HexagonISD::CALL),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_Scope, 39,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 9, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::J2_call), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    MVT::i32, 1, 1,
   9, TARGET_VAL(ISD::TargetExternalSymbol),
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::J2_call), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    MVT::i32, 1, 1,
   9, TARGET_VAL(ISD::TargetGlobalTLSAddress),
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(Hexagon::J2_call), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    MVT::i32, 1, 1,
   0,
  8,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1, TARGET_VAL(Hexagon::J2_callr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                   MVT::i32, 1, 1,
  0,
 39, TARGET_VAL(HexagonISD::CALLnr),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_Scope, 25,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 8, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_call_nr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    1, 1,
   8, TARGET_VAL(ISD::TargetExternalSymbol),
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_call_nr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    1, 1,
   0,
  7,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0, TARGET_VAL(Hexagon::PS_callr_nr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                   1, 1,
  0,
 18, TARGET_VAL(HexagonISD::ALLOCA),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckTypeI32,
  OPC_MoveParent,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitConvertToTarget2,
  OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::PS_alloca),
                  MVT::i32, 2, 1, 3,
 98, TARGET_VAL(ISD::Constant),
  OPC_Scope, 9,
   OPC_CheckInteger, 1,
   OPC_CheckType, MVT::i1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_true),
                   MVT::i1, 0,
  9,
   OPC_CheckInteger, 0,
   OPC_CheckType, MVT::i1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_false),
                   MVT::i1, 0,
  75,
   OPC_RecordNode,
   OPC_SwitchType , 9, MVT::i32,
    OPC_CheckPredicate, 26,
    OPC_EmitConvertToTarget0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 1,
   59, MVT::i64,
    OPC_Scope, 11,
     OPC_CheckPredicate, 76,
     OPC_EmitNodeXForm, 30, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_tfrpi),
                     MVT::i64, 1, 1,
    9,
     OPC_CheckPatternPredicate, 107,
     OPC_EmitConvertToTarget0,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::CONST64),
                     MVT::i64, 1, 1,
    34,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitNodeXForm, 31, 0,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 2,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitNodeXForm, 32, 0,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                     MVT::i32, 1, 5,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 1, 3, 4, 6, 7,
    0,
   0,
  0,
 109|128,10, TARGET_VAL(ISD::BITCAST),
  OPC_RecordChild0,
  OPC_Scope, 6,
   OPC_CheckChild0Type, MVT::f32,
   OPC_CheckTypeI32,
   OPC_CompleteMatch, 1, 0,

  6,
   OPC_CheckChild0Type, MVT::f64,
   OPC_CheckTypeI64,
   OPC_CompleteMatch, 1, 0,

  14,
   OPC_CheckChild0Type, MVT::v2i16,
   OPC_SwitchType , 3, MVT::i32,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4i8,
    OPC_CompleteMatch, 1, 0,

   0,
  14,
   OPC_CheckChild0Type, MVT::v4i8,
   OPC_SwitchType , 3, MVT::i32,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v2i16,
    OPC_CompleteMatch, 1, 0,

   0,
  19,
   OPC_CheckChild0Type, MVT::v2i32,
   OPC_SwitchType , 3, MVT::i64,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4i16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8i8,
    OPC_CompleteMatch, 1, 0,

   0,
  19,
   OPC_CheckChild0Type, MVT::v4i16,
   OPC_SwitchType , 3, MVT::i64,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v2i32,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8i8,
    OPC_CompleteMatch, 1, 0,

   0,
  19,
   OPC_CheckChild0Type, MVT::v8i8,
   OPC_SwitchType , 3, MVT::i64,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v2i32,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4i16,
    OPC_CompleteMatch, 1, 0,

   0,
  18,
   OPC_CheckChild0TypeI32,
   OPC_SwitchType , 3, MVT::f32,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v2i16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4i8,
    OPC_CompleteMatch, 1, 0,

   0,
  23,
   OPC_CheckChild0TypeI64,
   OPC_SwitchType , 3, MVT::f64,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v2i32,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v4i16,
    OPC_CompleteMatch, 1, 0,

   3, MVT::v8i8,
    OPC_CompleteMatch, 1, 0,

   0,
  81,
   OPC_CheckChild0Type, MVT::v32i16,
   OPC_SwitchType , 12, MVT::v64i8,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate2,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v16i32,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate2,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    0,
   14, MVT::v32f16,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   14, MVT::v32bf16,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   14, 13|128,1,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   0,
  109,
   OPC_CheckChild0Type, MVT::v64i16,
   OPC_SwitchType , 17, MVT::v128i8,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate4,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate2,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    0,
   17, MVT::v32i32,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate4,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate2,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    0,
   20, MVT::v64f16,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   20, MVT::v64bf16,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   20, 14|128,1,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   0,
  81,
   OPC_CheckChild0Type, MVT::v64i8,
   OPC_SwitchType , 12, MVT::v32i16,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate2,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v16i32,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate2,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    0,
   14, MVT::v32f16,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   14, MVT::v32bf16,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   14, 13|128,1,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   0,
  109,
   OPC_CheckChild0Type, MVT::v128i8,
   OPC_SwitchType , 17, MVT::v64i16,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate4,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate2,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    0,
   17, MVT::v32i32,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate4,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate2,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    0,
   20, MVT::v64f16,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   20, MVT::v64bf16,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   20, 14|128,1,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   0,
  81,
   OPC_CheckChild0Type, MVT::v16i32,
   OPC_SwitchType , 12, MVT::v64i8,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate2,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v32i16,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate2,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    0,
   14, MVT::v32f16,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   14, MVT::v32bf16,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   14, 13|128,1,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   0,
  109,
   OPC_CheckChild0Type, MVT::v32i32,
   OPC_SwitchType , 17, MVT::v128i8,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate4,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate2,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    0,
   17, MVT::v64i16,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate4,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate2,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate3,
     OPC_CompleteMatch, 1, 0,

    0,
   20, MVT::v64f16,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   20, MVT::v64bf16,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   20, 14|128,1,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   0,
  38,
   OPC_CheckChild0Type, MVT::v128i16,
   OPC_SwitchType , 4, MVT::v256i8,
    OPC_CheckPatternPredicate4,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v64i32,
    OPC_CheckPatternPredicate4,
    OPC_CompleteMatch, 1, 0,

   5, MVT::v128f16,
    OPC_CheckPatternPredicate, 16,
    OPC_CompleteMatch, 1, 0,

   5, MVT::v128bf16,
    OPC_CheckPatternPredicate, 16,
    OPC_CompleteMatch, 1, 0,

   5, 15|128,1,
    OPC_CheckPatternPredicate, 16,
    OPC_CompleteMatch, 1, 0,

   0,
  38,
   OPC_CheckChild0Type, MVT::v256i8,
   OPC_SwitchType , 4, MVT::v128i16,
    OPC_CheckPatternPredicate4,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v64i32,
    OPC_CheckPatternPredicate4,
    OPC_CompleteMatch, 1, 0,

   5, MVT::v128f16,
    OPC_CheckPatternPredicate, 16,
    OPC_CompleteMatch, 1, 0,

   5, MVT::v128bf16,
    OPC_CheckPatternPredicate, 16,
    OPC_CompleteMatch, 1, 0,

   5, 15|128,1,
    OPC_CheckPatternPredicate, 16,
    OPC_CompleteMatch, 1, 0,

   0,
  38,
   OPC_CheckChild0Type, MVT::v64i32,
   OPC_SwitchType , 4, MVT::v256i8,
    OPC_CheckPatternPredicate4,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v128i16,
    OPC_CheckPatternPredicate4,
    OPC_CompleteMatch, 1, 0,

   5, MVT::v128f16,
    OPC_CheckPatternPredicate, 16,
    OPC_CompleteMatch, 1, 0,

   5, MVT::v128bf16,
    OPC_CheckPatternPredicate, 16,
    OPC_CompleteMatch, 1, 0,

   5, 15|128,1,
    OPC_CheckPatternPredicate, 16,
    OPC_CompleteMatch, 1, 0,

   0,
  69,
   OPC_CheckChild0Type, MVT::v32f16,
   OPC_SwitchType , 14, MVT::v64i8,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   14, MVT::v32i16,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   14, MVT::v16i32,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   14, 13|128,1,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   0,
  93,
   OPC_CheckChild0Type, MVT::v64f16,
   OPC_SwitchType , 20, MVT::v128i8,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   20, MVT::v64i16,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   20, MVT::v32i32,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   20, 14|128,1,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   0,
  52,
   OPC_CheckChild0Type, MVT::v32bf16,
   OPC_SwitchType , 14, MVT::v64i8,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   14, MVT::v32i16,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   14, MVT::v16i32,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   0,
  70,
   OPC_CheckChild0Type, MVT::v64bf16,
   OPC_SwitchType , 20, MVT::v128i8,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   20, MVT::v64i16,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   20, MVT::v32i32,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   0,
  69,
   OPC_CheckChild0Type, 13|128,1,
   OPC_SwitchType , 14, MVT::v64i8,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   14, MVT::v32i16,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   14, MVT::v16i32,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   14, MVT::v32f16,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   0,
  93,
   OPC_CheckChild0Type, 14|128,1,
   OPC_SwitchType , 20, MVT::v128i8,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   20, MVT::v64i16,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   20, MVT::v32i32,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   20, MVT::v64f16,
    OPC_Scope, 5,
     OPC_CheckPatternPredicate, 16,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 14,
     OPC_CompleteMatch, 1, 0,

    5,
     OPC_CheckPatternPredicate, 15,
     OPC_CompleteMatch, 1, 0,

    0,
   0,
  33,
   OPC_CheckChild0Type, MVT::v128f16,
   OPC_SwitchType , 5, MVT::v256i8,
    OPC_CheckPatternPredicate, 16,
    OPC_CompleteMatch, 1, 0,

   5, MVT::v128i16,
    OPC_CheckPatternPredicate, 16,
    OPC_CompleteMatch, 1, 0,

   5, MVT::v64i32,
    OPC_CheckPatternPredicate, 16,
    OPC_CompleteMatch, 1, 0,

   5, 15|128,1,
    OPC_CheckPatternPredicate, 16,
    OPC_CompleteMatch, 1, 0,

   0,
  25,
   OPC_CheckChild0Type, MVT::v128bf16,
   OPC_SwitchType , 5, MVT::v256i8,
    OPC_CheckPatternPredicate, 16,
    OPC_CompleteMatch, 1, 0,

   5, MVT::v128i16,
    OPC_CheckPatternPredicate, 16,
    OPC_CompleteMatch, 1, 0,

   5, MVT::v64i32,
    OPC_CheckPatternPredicate, 16,
    OPC_CompleteMatch, 1, 0,

   0,
  33,
   OPC_CheckChild0Type, 15|128,1,
   OPC_SwitchType , 5, MVT::v256i8,
    OPC_CheckPatternPredicate, 16,
    OPC_CompleteMatch, 1, 0,

   5, MVT::v128i16,
    OPC_CheckPatternPredicate, 16,
    OPC_CompleteMatch, 1, 0,

   5, MVT::v64i32,
    OPC_CheckPatternPredicate, 16,
    OPC_CompleteMatch, 1, 0,

   5, MVT::v128f16,
    OPC_CheckPatternPredicate, 16,
    OPC_CompleteMatch, 1, 0,

   0,
  0,
 49|128,1, TARGET_VAL(ISD::FP_TO_SINT),
  OPC_RecordChild0,
  OPC_Scope, 20,
   OPC_CheckChild0Type, MVT::f32,
   OPC_SwitchType , 6, MVT::i32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_sf2w_chop),
                    MVT::i32, 1, 0,
   6, MVT::i64,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_sf2d_chop),
                    MVT::i64, 1, 0,
   0,
  20,
   OPC_CheckChild0Type, MVT::f64,
   OPC_SwitchType , 6, MVT::i32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_df2w_chop),
                    MVT::i32, 1, 0,
   6, MVT::i64,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_df2d_chop),
                    MVT::i64, 1, 0,
   0,
  24,
   OPC_CheckChild0Type, MVT::v32f16,
   OPC_CheckType, MVT::v32i16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 42,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_h_hf),
                    MVT::v32i16, 1, 0,
   8,
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_h_hf),
                    MVT::v32i16, 1, 0,
   0,
  74,
   OPC_CheckChild0Type, MVT::v64f16,
   OPC_SwitchType , 8, MVT::v64i16,
    OPC_CheckPatternPredicate, 44,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_h_hf),
                    MVT::v64i16, 1, 0,
   58, MVT::v64i8,
    OPC_Scope, 27,
     OPC_CheckPatternPredicate, 42,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_b_hf),
                     MVT::v64i8, 2, 2, 4,
    27,
     OPC_CheckPatternPredicate, 43,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_b_hf),
                     MVT::v64i8, 2, 2, 4,
    0,
   0,
  31,
   OPC_CheckChild0Type, MVT::v128f16,
   OPC_CheckType, MVT::v128i8,
   OPC_CheckPatternPredicate, 44,
   OPC_EmitIntegerI32, Hexagon::vsub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 0, 1,
   OPC_EmitIntegerI32, Hexagon::vsub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 0, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_b_hf),
                   MVT::v128i8, 2, 2, 4,
  0,
 49|128,1, TARGET_VAL(ISD::FP_TO_UINT),
  OPC_RecordChild0,
  OPC_Scope, 20,
   OPC_CheckChild0Type, MVT::f32,
   OPC_SwitchType , 6, MVT::i32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_sf2uw_chop),
                    MVT::i32, 1, 0,
   6, MVT::i64,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_sf2ud_chop),
                    MVT::i64, 1, 0,
   0,
  20,
   OPC_CheckChild0Type, MVT::f64,
   OPC_SwitchType , 6, MVT::i32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_df2uw_chop),
                    MVT::i32, 1, 0,
   6, MVT::i64,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_df2ud_chop),
                    MVT::i64, 1, 0,
   0,
  24,
   OPC_CheckChild0Type, MVT::v32f16,
   OPC_CheckType, MVT::v32i16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 42,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_uh_hf),
                    MVT::v32i16, 1, 0,
   8,
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_uh_hf),
                    MVT::v32i16, 1, 0,
   0,
  74,
   OPC_CheckChild0Type, MVT::v64f16,
   OPC_SwitchType , 8, MVT::v64i16,
    OPC_CheckPatternPredicate, 44,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_uh_hf),
                    MVT::v64i16, 1, 0,
   58, MVT::v64i8,
    OPC_Scope, 27,
     OPC_CheckPatternPredicate, 42,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_ub_hf),
                     MVT::v64i8, 2, 2, 4,
    27,
     OPC_CheckPatternPredicate, 43,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_ub_hf),
                     MVT::v64i8, 2, 2, 4,
    0,
   0,
  31,
   OPC_CheckChild0Type, MVT::v128f16,
   OPC_CheckType, MVT::v128i8,
   OPC_CheckPatternPredicate, 44,
   OPC_EmitIntegerI32, Hexagon::vsub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 0, 1,
   OPC_EmitIntegerI32, Hexagon::vsub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 0, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_ub_hf),
                   MVT::v128i8, 2, 2, 4,
  0,
 90|128,1, TARGET_VAL(ISD::SIGN_EXTEND),
  OPC_RecordChild0,
  OPC_SwitchType , 53, MVT::i64,
   OPC_Scope, 7,
    OPC_CheckChild0TypeI32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_sxtw),
                    MVT::i64, 1, 0,
   42,
    OPC_CheckChild0Type, MVT::i1,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitIntegerI32, 127,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                    MVT::i32, 3, 0, 2, 3,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, 127,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                    MVT::i32, 3, 0, 6, 7,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::i64, 5, 1, 4, 5, 8, 9,
   0,
  12, MVT::i32,
   OPC_EmitIntegerI32, 127,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_muxii),
                   MVT::i32, 3, 0, 1, 2,
  20, MVT::v2i32,
   OPC_Scope, 8,
    OPC_CheckChild0Type, MVT::v2i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_mask),
                    MVT::v2i32, 1, 0,
   8,
    OPC_CheckChild0Type, MVT::v2i16,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vsxthw),
                    MVT::v2i32, 1, 0,
   0,
  20, MVT::v4i16,
   OPC_Scope, 8,
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_mask),
                    MVT::v4i16, 1, 0,
   8,
    OPC_CheckChild0Type, MVT::v4i8,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vsxtbh),
                    MVT::v4i16, 1, 0,
   0,
  6, MVT::v8i8,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_mask),
                   MVT::v8i8, 1, 0,
  20, MVT::v64i16,
   OPC_CheckChild0Type, MVT::v64i8,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackb),
                    MVT::v64i16, 1, 0,
   7,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackb),
                    MVT::v64i16, 1, 0,
   0,
  9, MVT::v128i16,
   OPC_CheckChild0Type, MVT::v128i8,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackb),
                   MVT::v128i16, 1, 0,
  20, MVT::v32i32,
   OPC_CheckChild0Type, MVT::v32i16,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackh),
                    MVT::v32i32, 1, 0,
   7,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackh),
                    MVT::v32i32, 1, 0,
   0,
  9, MVT::v64i32,
   OPC_CheckChild0Type, MVT::v64i16,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackh),
                   MVT::v64i32, 1, 0,
  12, MVT::v2i16,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_mask),
                   MVT::i64, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vtrunehb),
                   MVT::v2i16, 1, 1,
  12, MVT::v4i8,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_mask),
                   MVT::i64, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vtrunehb),
                   MVT::v4i8, 1, 1,
  0,
 9|128,2, TARGET_VAL(ISD::ANY_EXTEND),
  OPC_RecordChild0,
  OPC_SwitchType , 37, MVT::i64,
   OPC_Scope, 10,
    OPC_CheckChild0TypeI32,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_combineir),
                    MVT::i64, 2, 1, 0,
   23,
    OPC_CheckChild0Type, MVT::i1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_muxii),
                    MVT::i32, 3, 0, 2, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_combineir),
                    MVT::i64, 2, 1, 4,
   0,
  12, MVT::i32,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_muxii),
                   MVT::i32, 3, 0, 1, 2,
  63, MVT::v4i16,
   OPC_Scope, 8,
    OPC_CheckChild0Type, MVT::v4i8,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vzxtbh),
                    MVT::v4i16, 1, 0,
   51,
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_mask),
                    MVT::i64, 1, 0,
    OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
    OPC_EmitIntegerI32, 1|128,0|128,4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 3,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitIntegerI32, 1|128,0|128,4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 6,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::i64, 5, 2, 4, 5, 7, 8,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_andp),
                    MVT::v4i16, 2, 1, 9,
   0,
  38, MVT::v2i32,
   OPC_Scope, 8,
    OPC_CheckChild0Type, MVT::v2i16,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vzxthw),
                    MVT::v2i32, 1, 0,
   26,
    OPC_CheckChild0Type, MVT::v2i1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_mask),
                    MVT::i64, 1, 0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combineii),
                    MVT::i64, 2, 2, 3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_andp),
                    MVT::v2i32, 2, 1, 4,
   0,
  23, MVT::v2i16,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_mask),
                   MVT::i64, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_vtrunehb),
                   MVT::i32, 1, 1,
   OPC_EmitIntegerI32, 1|128,0|128,4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_andir),
                   MVT::v2i16, 2, 2, 3,
  24, MVT::v4i8,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_mask),
                   MVT::i64, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_vtrunehb),
                   MVT::i32, 1, 1,
   OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_andir),
                   MVT::v4i8, 2, 2, 3,
  51, MVT::v8i8,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_mask),
                   MVT::i64, 1, 0,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                   MVT::i32, 1, 3,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, 1|128,2|128,4|128,8,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                   MVT::i32, 1, 6,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::i64, 5, 2, 4, 5, 7, 8,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_andp),
                   MVT::v8i8, 2, 1, 9,
  0,
 3|128,6, TARGET_VAL(HexagonISD::SSAT),
  OPC_Scope, 46,
   OPC_RecordChild0,
   OPC_Scope, 28,
    OPC_CheckChild0TypeI32,
    OPC_MoveChild1,
    OPC_Scope, 11,
     OPC_CheckValueType, MVT::i8,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_satb),
                     MVT::i32, MVT::i1, 1, 0,
    11,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_sath),
                     MVT::i32, MVT::i1, 1, 0,
    0,
   13,
    OPC_CheckChild0TypeI64,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_sat),
                    MVT::i32, MVT::i1, 1, 0,
   0,
  13|128,2,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::CONCAT_VECTORS),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v32i32,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v64i32,
   OPC_MoveSibling1,
   OPC_Scope, 127,
    OPC_CheckValueType, MVT::v64i8,
    OPC_MoveParent,
    OPC_CheckType, MVT::v64i8,
    OPC_Scope, 59,
     OPC_CheckPatternPredicate, 69,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 1, 2,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackwh_sat),
                     MVT::v64i8, 2, 3, 5,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 7,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 9,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackwh_sat),
                     MVT::v64i8, 2, 8, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhb_sat),
                     MVT::v64i8, 2, 6, 11,
    59,
     OPC_CheckPatternPredicate, 70,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 1, 2,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackwh_sat),
                     MVT::v64i8, 2, 3, 5,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 7,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 9,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackwh_sat),
                     MVT::v64i8, 2, 8, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhb_sat),
                     MVT::v64i8, 2, 6, 11,
    0,
   127,
    OPC_CheckValueType, MVT::v128i8,
    OPC_MoveParent,
    OPC_CheckType, MVT::v64i8,
    OPC_Scope, 59,
     OPC_CheckPatternPredicate, 71,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 1, 2,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackwh_sat),
                     MVT::v64i8, 2, 3, 5,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 7,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 9,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackwh_sat),
                     MVT::v64i8, 2, 8, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhb_sat),
                     MVT::v64i8, 2, 6, 11,
    59,
     OPC_CheckPatternPredicate, 72,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 1, 2,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackwh_sat),
                     MVT::v64i8, 2, 3, 5,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 7,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 9,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackwh_sat),
                     MVT::v64i8, 2, 8, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhb_sat),
                     MVT::v64i8, 2, 6, 11,
    0,
   0,
  65|128,3,
   OPC_RecordChild0,
   OPC_Scope, 15,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::v4i8,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i8,
    OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S2_vsathb),
                    MVT::v4i8, MVT::i1, 1, 0,
   15,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::v2i16,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i16,
    OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S2_vsatwh),
                    MVT::v2i16, MVT::i1, 1, 0,
   5|128,1,
    OPC_CheckChild0Type, MVT::v64i16,
    OPC_MoveChild1,
    OPC_Scope, 63,
     OPC_CheckValueType, MVT::v64i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i8,
     OPC_Scope, 27,
      OPC_CheckPatternPredicate, 69,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhb_sat),
                      MVT::v64i8, 2, 2, 4,
     27,
      OPC_CheckPatternPredicate, 70,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhb_sat),
                      MVT::v64i8, 2, 2, 4,
     0,
    63,
     OPC_CheckValueType, MVT::v128i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i8,
     OPC_Scope, 27,
      OPC_CheckPatternPredicate, 71,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhb_sat),
                      MVT::v64i8, 2, 2, 4,
     27,
      OPC_CheckPatternPredicate, 72,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhb_sat),
                      MVT::v64i8, 2, 2, 4,
     0,
    0,
   71,
    OPC_CheckChild0Type, MVT::v128i16,
    OPC_MoveChild1,
    OPC_Scope, 32,
     OPC_CheckValueType, MVT::v64i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128i8,
     OPC_CheckPatternPredicate, 88,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhb_sat),
                     MVT::v128i8, 2, 2, 4,
    32,
     OPC_CheckValueType, MVT::v128i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128i8,
     OPC_CheckPatternPredicate, 89,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhb_sat),
                     MVT::v128i8, 2, 2, 4,
    0,
   5|128,1,
    OPC_CheckChild0Type, MVT::v32i32,
    OPC_MoveChild1,
    OPC_Scope, 63,
     OPC_CheckValueType, MVT::v32i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i16,
     OPC_Scope, 27,
      OPC_CheckPatternPredicate, 69,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackwh_sat),
                      MVT::v32i16, 2, 2, 4,
     27,
      OPC_CheckPatternPredicate, 70,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackwh_sat),
                      MVT::v32i16, 2, 2, 4,
     0,
    63,
     OPC_CheckValueType, MVT::v64i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i16,
     OPC_Scope, 27,
      OPC_CheckPatternPredicate, 71,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackwh_sat),
                      MVT::v32i16, 2, 2, 4,
     27,
      OPC_CheckPatternPredicate, 72,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackwh_sat),
                      MVT::v32i16, 2, 2, 4,
     0,
    0,
   71,
    OPC_CheckChild0Type, MVT::v64i32,
    OPC_MoveChild1,
    OPC_Scope, 32,
     OPC_CheckValueType, MVT::v32i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i16,
     OPC_CheckPatternPredicate, 88,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackwh_sat),
                     MVT::v64i16, 2, 2, 4,
    32,
     OPC_CheckValueType, MVT::v64i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i16,
     OPC_CheckPatternPredicate, 89,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackwh_sat),
                     MVT::v64i16, 2, 2, 4,
    0,
   0,
  0,
 33|128,6, TARGET_VAL(HexagonISD::USAT),
  OPC_Scope, 76,
   OPC_RecordChild0,
   OPC_Scope, 28,
    OPC_CheckChild0TypeI32,
    OPC_MoveChild1,
    OPC_Scope, 11,
     OPC_CheckValueType, MVT::i8,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_satub),
                     MVT::i32, MVT::i1, 1, 0,
    11,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_satuh),
                     MVT::i32, MVT::i1, 1, 0,
    0,
   43,
    OPC_CheckChild0TypeI64,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitIntegerI32, Hexagon::isub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpeqi),
                    MVT::i1, 2, 2, 3,
    OPC_EmitIntegerI32, Hexagon::isub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 5,
    OPC_EmitIntegerI32, 127,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_mux),
                    MVT::i32, 3, 4, 6, 7,
   0,
  13|128,2,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::CONCAT_VECTORS),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v32i32,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v64i32,
   OPC_MoveSibling1,
   OPC_Scope, 127,
    OPC_CheckValueType, MVT::v64i8,
    OPC_MoveParent,
    OPC_CheckType, MVT::v64i8,
    OPC_Scope, 59,
     OPC_CheckPatternPredicate, 69,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 1, 2,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackwuh_sat),
                     MVT::v64i8, 2, 3, 5,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 7,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 9,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackwuh_sat),
                     MVT::v64i8, 2, 8, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhub_sat),
                     MVT::v64i8, 2, 6, 11,
    59,
     OPC_CheckPatternPredicate, 70,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 1, 2,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackwuh_sat),
                     MVT::v64i8, 2, 3, 5,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 7,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 9,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackwuh_sat),
                     MVT::v64i8, 2, 8, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhub_sat),
                     MVT::v64i8, 2, 6, 11,
    0,
   127,
    OPC_CheckValueType, MVT::v128i8,
    OPC_MoveParent,
    OPC_CheckType, MVT::v64i8,
    OPC_Scope, 59,
     OPC_CheckPatternPredicate, 71,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 1, 2,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackwuh_sat),
                     MVT::v64i8, 2, 3, 5,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 7,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 9,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackwuh_sat),
                     MVT::v64i8, 2, 8, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhub_sat),
                     MVT::v64i8, 2, 6, 11,
    59,
     OPC_CheckPatternPredicate, 72,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 1, 2,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 1, 4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackwuh_sat),
                     MVT::v64i8, 2, 3, 5,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 7,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 9,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackwuh_sat),
                     MVT::v64i8, 2, 8, 10,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhub_sat),
                     MVT::v64i8, 2, 6, 11,
    0,
   0,
  65|128,3,
   OPC_RecordChild0,
   OPC_Scope, 15,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::v4i8,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i8,
    OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S2_vsathub),
                    MVT::v4i8, MVT::i1, 1, 0,
   15,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::v2i16,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i16,
    OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::S2_vsatwuh),
                    MVT::v2i16, MVT::i1, 1, 0,
   5|128,1,
    OPC_CheckChild0Type, MVT::v64i16,
    OPC_MoveChild1,
    OPC_Scope, 63,
     OPC_CheckValueType, MVT::v64i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i8,
     OPC_Scope, 27,
      OPC_CheckPatternPredicate, 69,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhub_sat),
                      MVT::v64i8, 2, 2, 4,
     27,
      OPC_CheckPatternPredicate, 70,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhub_sat),
                      MVT::v64i8, 2, 2, 4,
     0,
    63,
     OPC_CheckValueType, MVT::v128i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i8,
     OPC_Scope, 27,
      OPC_CheckPatternPredicate, 71,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhub_sat),
                      MVT::v64i8, 2, 2, 4,
     27,
      OPC_CheckPatternPredicate, 72,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhub_sat),
                      MVT::v64i8, 2, 2, 4,
     0,
    0,
   71,
    OPC_CheckChild0Type, MVT::v128i16,
    OPC_MoveChild1,
    OPC_Scope, 32,
     OPC_CheckValueType, MVT::v64i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128i8,
     OPC_CheckPatternPredicate, 88,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhub_sat),
                     MVT::v128i8, 2, 2, 4,
    32,
     OPC_CheckValueType, MVT::v128i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128i8,
     OPC_CheckPatternPredicate, 89,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackhub_sat),
                     MVT::v128i8, 2, 2, 4,
    0,
   5|128,1,
    OPC_CheckChild0Type, MVT::v32i32,
    OPC_MoveChild1,
    OPC_Scope, 63,
     OPC_CheckValueType, MVT::v32i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i16,
     OPC_Scope, 27,
      OPC_CheckPatternPredicate, 69,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackwuh_sat),
                      MVT::v32i16, 2, 2, 4,
     27,
      OPC_CheckPatternPredicate, 70,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackwuh_sat),
                      MVT::v32i16, 2, 2, 4,
     0,
    63,
     OPC_CheckValueType, MVT::v64i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i16,
     OPC_Scope, 27,
      OPC_CheckPatternPredicate, 71,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackwuh_sat),
                      MVT::v32i16, 2, 2, 4,
     27,
      OPC_CheckPatternPredicate, 72,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v64i8, 2, 0, 3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackwuh_sat),
                      MVT::v32i16, 2, 2, 4,
     0,
    0,
   71,
    OPC_CheckChild0Type, MVT::v64i32,
    OPC_MoveChild1,
    OPC_Scope, 32,
     OPC_CheckValueType, MVT::v32i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i16,
     OPC_CheckPatternPredicate, 88,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackwuh_sat),
                     MVT::v64i16, 2, 2, 4,
    32,
     OPC_CheckValueType, MVT::v64i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i16,
     OPC_CheckPatternPredicate, 89,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 0, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 0, 3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackwuh_sat),
                     MVT::v64i16, 2, 2, 4,
    0,
   0,
  0,
 17|128,1, TARGET_VAL(ISD::SMIN),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 7, MVT::i32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_min),
                   MVT::i32, 2, 0, 1,
  7, MVT::i64,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_minp),
                   MVT::i64, 2, 0, 1,
  7, MVT::v8i8,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vminb),
                   MVT::v8i8, 2, 0, 1,
  7, MVT::v4i16,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vminh),
                   MVT::v4i16, 2, 0, 1,
  7, MVT::v2i32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vminw),
                   MVT::v2i32, 2, 0, 1,
  20, MVT::v64i8,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminb),
                    MVT::v64i8, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminb),
                    MVT::v64i8, 2, 0, 1,
   0,
  8, MVT::v128i8,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminb),
                   MVT::v128i8, 2, 0, 1,
  20, MVT::v32i16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminh),
                    MVT::v32i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminh),
                    MVT::v32i16, 2, 0, 1,
   0,
  8, MVT::v64i16,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminh),
                   MVT::v64i16, 2, 0, 1,
  20, MVT::v16i32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminw),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminw),
                    MVT::v16i32, 2, 0, 1,
   0,
  8, MVT::v32i32,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminw),
                   MVT::v32i32, 2, 0, 1,
  0,
 17|128,1, TARGET_VAL(ISD::SMAX),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 7, MVT::i32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_max),
                   MVT::i32, 2, 0, 1,
  7, MVT::i64,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_maxp),
                   MVT::i64, 2, 0, 1,
  7, MVT::v8i8,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vmaxb),
                   MVT::v8i8, 2, 0, 1,
  7, MVT::v4i16,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vmaxh),
                   MVT::v4i16, 2, 0, 1,
  7, MVT::v2i32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vmaxw),
                   MVT::v2i32, 2, 0, 1,
  20, MVT::v64i8,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxb),
                    MVT::v64i8, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxb),
                    MVT::v64i8, 2, 0, 1,
   0,
  8, MVT::v128i8,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxb),
                   MVT::v128i8, 2, 0, 1,
  20, MVT::v32i16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxh),
                    MVT::v32i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxh),
                    MVT::v32i16, 2, 0, 1,
   0,
  8, MVT::v64i16,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxh),
                   MVT::v64i16, 2, 0, 1,
  20, MVT::v16i32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxw),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxw),
                    MVT::v16i32, 2, 0, 1,
   0,
  8, MVT::v32i32,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxw),
                   MVT::v32i32, 2, 0, 1,
  0,
 113, TARGET_VAL(ISD::UMIN),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 7, MVT::i32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_minu),
                   MVT::i32, 2, 0, 1,
  7, MVT::i64,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_minup),
                   MVT::i64, 2, 0, 1,
  7, MVT::v8i8,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vminub),
                   MVT::v8i8, 2, 0, 1,
  7, MVT::v4i16,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vminuh),
                   MVT::v4i16, 2, 0, 1,
  7, MVT::v2i32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vminuw),
                   MVT::v2i32, 2, 0, 1,
  20, MVT::v64i8,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminub),
                    MVT::v64i8, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminub),
                    MVT::v64i8, 2, 0, 1,
   0,
  8, MVT::v128i8,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminub),
                   MVT::v128i8, 2, 0, 1,
  20, MVT::v32i16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminuh),
                    MVT::v32i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminuh),
                    MVT::v32i16, 2, 0, 1,
   0,
  8, MVT::v64i16,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vminuh),
                   MVT::v64i16, 2, 0, 1,
  0,
 113, TARGET_VAL(ISD::UMAX),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 7, MVT::i32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_maxu),
                   MVT::i32, 2, 0, 1,
  7, MVT::i64,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_maxup),
                   MVT::i64, 2, 0, 1,
  7, MVT::v8i8,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vmaxub),
                   MVT::v8i8, 2, 0, 1,
  7, MVT::v4i16,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vmaxuh),
                   MVT::v4i16, 2, 0, 1,
  7, MVT::v2i32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vmaxuw),
                   MVT::v2i32, 2, 0, 1,
  20, MVT::v64i8,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxub),
                    MVT::v64i8, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxub),
                    MVT::v64i8, 2, 0, 1,
   0,
  8, MVT::v128i8,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxub),
                   MVT::v128i8, 2, 0, 1,
  20, MVT::v32i16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxuh),
                    MVT::v32i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxuh),
                    MVT::v32i16, 2, 0, 1,
   0,
  8, MVT::v64i16,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmaxuh),
                   MVT::v64i16, 2, 0, 1,
  0,
 11|128,2, TARGET_VAL(ISD::BSWAP),
  OPC_RecordChild0,
  OPC_SwitchType , 6, MVT::i32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_swiz),
                   MVT::i32, 1, 0,
  46, MVT::i64,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 2,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_swiz),
                   MVT::i32, 1, 3,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 6,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_swiz),
                   MVT::i32, 1, 7,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::i64, 5, 1, 4, 5, 8, 9,
  36, MVT::v32i16,
   OPC_Scope, 16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatib),
                    MVT::v64i8, 1, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdelta),
                    MVT::v32i16, 2, 0, 2,
   16,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatib),
                    MVT::v64i8, 1, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdelta),
                    MVT::v32i16, 2, 0, 2,
   0,
  16, MVT::v64i16,
   OPC_CheckPatternPredicate4,
   OPC_EmitIntegerI32, 1,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatib),
                   MVT::v128i8, 1, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdelta),
                   MVT::v64i16, 2, 0, 2,
  36, MVT::v16i32,
   OPC_Scope, 16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatib),
                    MVT::v64i8, 1, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdelta),
                    MVT::v16i32, 2, 0, 2,
   16,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatib),
                    MVT::v64i8, 1, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdelta),
                    MVT::v16i32, 2, 0, 2,
   0,
  16, MVT::v32i32,
   OPC_CheckPatternPredicate4,
   OPC_EmitIntegerI32, 3,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatib),
                   MVT::v128i8, 1, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdelta),
                   MVT::v32i32, 2, 0, 2,
  19, MVT::v2i16,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_swiz),
                   MVT::i32, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_swiz),
                   MVT::i32, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_combine_lh),
                   MVT::v2i16, 2, 1, 2,
  25, MVT::v4i16,
   OPC_EmitIntegerI32, 8,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_lsr_i_vh),
                   MVT::i64, 2, 0, 1,
   OPC_EmitIntegerI32, 8,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_asl_i_vh),
                   MVT::i64, 2, 0, 3,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_orp),
                   MVT::v4i16, 2, 2, 4,
  46, MVT::v2i32,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 2,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_swiz),
                   MVT::i32, 1, 3,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 6,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_swiz),
                   MVT::i32, 1, 7,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v2i32, 5, 1, 4, 5, 8, 9,
  0,
 52|128,2, TARGET_VAL(ISD::ABS),
  OPC_RecordChild0,
  OPC_SwitchType , 6, MVT::i32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_abs),
                   MVT::i32, 1, 0,
  6, MVT::i64,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_absp),
                   MVT::i64, 1, 0,
  18|128,1, MVT::v64i8,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 108,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsb),
                    MVT::v64i8, 1, 0,
   8,
    OPC_CheckPatternPredicate, 109,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsb),
                    MVT::v64i8, 1, 0,
   62,
    OPC_CheckPatternPredicate, 110,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsb),
                    MVT::v128i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsb),
                    MVT::v128i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 4, 5,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vshufoeb),
                    MVT::v128i8, 2, 3, 6,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 7, 8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddb),
                    MVT::v64i8, 2, 0, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vxor),
                    MVT::v64i8, 2, 0, 10,
   62,
    OPC_CheckPatternPredicate, 111,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsb),
                    MVT::v128i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsb),
                    MVT::v128i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 4, 5,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vshufoeb),
                    MVT::v128i8, 2, 3, 6,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 7, 8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddb),
                    MVT::v64i8, 2, 0, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vxor),
                    MVT::v64i8, 2, 0, 10,
   0,
  74, MVT::v128i8,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 112,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsb),
                    MVT::v128i8, 1, 0,
   62,
    OPC_CheckPatternPredicate, 113,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsb),
                    MVT::v256i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsb),
                    MVT::v256i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 4, 5,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vshufoeb),
                    MVT::v256i8, 2, 3, 6,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 7, 8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddb),
                    MVT::v128i8, 2, 0, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vxor),
                    MVT::v128i8, 2, 0, 10,
   0,
  20, MVT::v32i16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 73,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsh),
                    MVT::v32i16, 1, 0,
   8,
    OPC_CheckPatternPredicate, 74,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsh),
                    MVT::v32i16, 1, 0,
   0,
  8, MVT::v64i16,
   OPC_CheckPatternPredicate, 75,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsh),
                   MVT::v64i16, 1, 0,
  20, MVT::v16i32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 73,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsw),
                    MVT::v16i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 74,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsw),
                    MVT::v16i32, 1, 0,
   0,
  8, MVT::v32i32,
   OPC_CheckPatternPredicate, 75,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vabsw),
                   MVT::v32i32, 1, 0,
  0,
 85|128,1, TARGET_VAL(ISD::SADDSAT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 8, MVT::i32,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_addsat),
                   MVT::i32, MVT::i1, 2, 0, 1,
  8, MVT::i64,
   OPC_MorphNodeTo2None, TARGET_VAL(Hexagon::A2_addpsat),
                   MVT::i64, MVT::i1, 2, 0, 1,
  20, MVT::v64i8,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddbsat),
                    MVT::v64i8, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddbsat),
                    MVT::v64i8, 2, 0, 1,
   0,
  29, MVT::v128i8,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddbsat),
                    MVT::v128i8, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddbsat_dv),
                    MVT::v128i8, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddbsat_dv),
                    MVT::v128i8, 2, 0, 1,
   0,
  20, MVT::v32i16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddhsat),
                    MVT::v32i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddhsat),
                    MVT::v32i16, 2, 0, 1,
   0,
  29, MVT::v64i16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddhsat),
                    MVT::v64i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddhsat_dv),
                    MVT::v64i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddhsat_dv),
                    MVT::v64i16, 2, 0, 1,
   0,
  20, MVT::v16i32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddwsat),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddwsat),
                    MVT::v16i32, 2, 0, 1,
   0,
  29, MVT::v32i32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddwsat),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddwsat_dv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddwsat_dv),
                    MVT::v32i32, 2, 0, 1,
   0,
  8, MVT::v256i8,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddbsat_dv),
                   MVT::v256i8, 2, 0, 1,
  8, MVT::v128i16,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddhsat_dv),
                   MVT::v128i16, 2, 0, 1,
  8, MVT::v64i32,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddwsat_dv),
                   MVT::v64i32, 2, 0, 1,
  0,
 67|128,10, TARGET_VAL(ISD::MULHS),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 7, MVT::i32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpy_up),
                   MVT::i32, 2, 0, 1,
  62|128,2, MVT::i64,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 2,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 4,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::M2_dpmpyuu_s0),
                   MVT::i64, 2, 3, 5,
   OPC_EmitIntegerI32, 32,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_lsr_i_p),
                   MVT::i64, 2, 6, 7,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 9,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 11,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::M2_dpmpyuu_acc_s0),
                   MVT::i64, 3, 8, 10, 12,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 15,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 17,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::M2_dpmpyuu_s0),
                   MVT::i64, 2, 16, 18,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 19, 20,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_combineir),
                   MVT::i64, 2, 14, 21,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_addp),
                   MVT::i64, 2, 13, 22,
   OPC_EmitIntegerI32, 32,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_lsr_i_p),
                   MVT::i64, 2, 23, 24,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 26,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 28,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::M2_dpmpyuu_acc_s0),
                   MVT::i64, 3, 25, 27, 29,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 31,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 33,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::M2_dpmpyuu_s0),
                   MVT::i64, 2, 32, 34,
   OPC_EmitIntegerI32, 32,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_lsr_i_p),
                   MVT::i64, 2, 35, 36,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_addp),
                   MVT::i64, 2, 30, 37,
   OPC_EmitIntegerI32, 63,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_asr_i_p),
                   MVT::i64, 2, 0, 39,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 42,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_clrbit_i),
                   MVT::i32, 2, 43, 44,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 47,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::i64, 5, 41, 45, 46, 48, 49,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_andp),
                   MVT::i64, 2, 40, 50,
   OPC_EmitIntegerI32, 63,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_asr_i_p),
                   MVT::i64, 2, 1, 52,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 55,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_clrbit_i),
                   MVT::i32, 2, 56, 57,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 60,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::i64, 5, 54, 58, 59, 61, 62,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_andp),
                   MVT::i64, 2, 53, 63,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_addp),
                   MVT::i64, 2, 51, 64,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_subp),
                   MVT::i64, 2, 38, 65,
  41, MVT::v2i16,
   OPC_EmitNode2None, TARGET_VAL(Hexagon::M2_vmpy2s_s0),
                   MVT::i64, MVT::i1, 2, 0, 1,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 2, 4,
   OPC_EmitNode2None, TARGET_VAL(Hexagon::M2_vmpy2s_s0),
                   MVT::i64, MVT::i1, 2, 0, 1,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 6, 8,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_combine_hh),
                   MVT::v2i16, 2, 5, 9,
  86, MVT::v64i8,
   OPC_Scope, 41,
    OPC_CheckPatternPredicate, 73,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 5, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffob),
                    MVT::v64i8, 2, 4, 7,
   41,
    OPC_CheckPatternPredicate, 74,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 5, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffob),
                    MVT::v64i8, 2, 4, 7,
   0,
  41, MVT::v128i8,
   OPC_CheckPatternPredicate, 75,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv),
                   MVT::v256i8, 2, 0, 1,
   OPC_EmitIntegerI32, Hexagon::vsub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 2, 3,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpybv),
                   MVT::v256i8, 2, 0, 1,
   OPC_EmitIntegerI32, Hexagon::vsub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 5, 6,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffob),
                   MVT::v128i8, 2, 4, 7,
  86, MVT::v32i16,
   OPC_Scope, 41,
    OPC_CheckPatternPredicate, 73,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhv),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhv),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 5, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshufoh),
                    MVT::v32i16, 2, 4, 7,
   41,
    OPC_CheckPatternPredicate, 74,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhv),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhv),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 5, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshufoh),
                    MVT::v32i16, 2, 4, 7,
   0,
  41, MVT::v64i16,
   OPC_CheckPatternPredicate, 75,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhv),
                   MVT::v256i8, 2, 0, 1,
   OPC_EmitIntegerI32, Hexagon::vsub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 2, 3,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyhv),
                   MVT::v256i8, 2, 0, 1,
   OPC_EmitIntegerI32, Hexagon::vsub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 5, 6,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshufoh),
                   MVT::v64i16, 2, 4, 7,
  66, MVT::v2i32,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 3,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 5,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::M2_mpy_up),
                   MVT::i32, 2, 4, 6,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 9,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 11,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::M2_mpy_up),
                   MVT::i32, 2, 10, 12,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v2i32, 5, 2, 7, 8, 13, 14,
  14|128,1, MVT::v8i8,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 3,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 5,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::M5_vmpybuu),
                   MVT::i64, 2, 4, 6,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_vtrunohb),
                   MVT::i32, 1, 7,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 10,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 12,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::M5_vmpybuu),
                   MVT::i64, 2, 11, 13,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_vtrunohb),
                   MVT::i32, 1, 14,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::i64, 5, 2, 8, 9, 15, 16,
   OPC_EmitIntegerI32, 127,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_vcmpbgti),
                   MVT::i1, 2, 0, 18,
   OPC_EmitIntegerI32, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrpi),
                   MVT::i64, 1, 20,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_vmux),
                   MVT::i64, 3, 19, 21, 1,
   OPC_EmitIntegerI32, 127,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_vcmpbgti),
                   MVT::i1, 2, 1, 23,
   OPC_EmitIntegerI32, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrpi),
                   MVT::i64, 1, 25,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_vmux),
                   MVT::i64, 3, 24, 26, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vaddub),
                   MVT::i64, 2, 22, 27,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vsubub),
                   MVT::v8i8, 2, 17, 28,
  42|128,1, MVT::v4i16,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 3,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 5,
   OPC_EmitNode2None, TARGET_VAL(Hexagon::M2_vmpy2s_s0),
                   MVT::i64, MVT::i1, 2, 4, 6,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 7, 9,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 11,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 13,
   OPC_EmitNode2None, TARGET_VAL(Hexagon::M2_vmpy2s_s0),
                   MVT::i64, MVT::i1, 2, 12, 14,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 15, 17,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_hh),
                   MVT::i32, 2, 10, 18,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 21,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 23,
   OPC_EmitNode2None, TARGET_VAL(Hexagon::M2_vmpy2s_s0),
                   MVT::i64, MVT::i1, 2, 22, 24,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 25, 27,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 29,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 31,
   OPC_EmitNode2None, TARGET_VAL(Hexagon::M2_vmpy2s_s0),
                   MVT::i64, MVT::i1, 2, 30, 32,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 33, 35,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_hh),
                   MVT::i32, 2, 28, 36,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v4i16, 5, 2, 19, 20, 37, 38,
  63|128,2, MVT::v4i8,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i32, 0,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v8i8, 5, 3, 4, 5, 0, 6,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 7, 8,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i32, 0,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v8i8, 5, 10, 11, 12, 1, 13,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 14, 15,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::M5_vmpybuu),
                   MVT::i64, 2, 9, 16,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_vtrunohb),
                   MVT::i32, 1, 17,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i32, 0,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v8i8, 5, 20, 21, 22, 0, 23,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 24, 25,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i32, 0,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v8i8, 5, 27, 28, 29, 1, 30,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 31, 32,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::M5_vmpybuu),
                   MVT::i64, 2, 26, 33,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_vtrunohb),
                   MVT::i32, 1, 34,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::i64, 5, 2, 18, 19, 35, 36,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i32, 0,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v8i8, 5, 38, 39, 40, 0, 41,
   OPC_EmitIntegerI32, 127,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_vcmpbgti),
                   MVT::i1, 2, 42, 43,
   OPC_EmitIntegerI32, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrpi),
                   MVT::i64, 1, 45,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i32, 0,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v8i8, 5, 47, 48, 49, 1, 50,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_vmux),
                   MVT::i64, 3, 44, 46, 51,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i32, 0,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v8i8, 5, 53, 54, 55, 1, 56,
   OPC_EmitIntegerI32, 127,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_vcmpbgti),
                   MVT::i1, 2, 57, 58,
   OPC_EmitIntegerI32, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrpi),
                   MVT::i64, 1, 60,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i32, 0,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v8i8, 5, 62, 63, 64, 0, 65,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_vmux),
                   MVT::i64, 3, 59, 61, 66,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vaddub),
                   MVT::i64, 2, 52, 67,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vsubub),
                   MVT::i64, 2, 37, 68,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v4i8, 2, 69, 70,
  0,
 27|128,8, TARGET_VAL(ISD::MULHU),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 7, MVT::i32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::M2_mpyu_up),
                   MVT::i32, 2, 0, 1,
  58|128,1, MVT::i64,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 2,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 4,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::M2_dpmpyuu_s0),
                   MVT::i64, 2, 3, 5,
   OPC_EmitIntegerI32, 32,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_lsr_i_p),
                   MVT::i64, 2, 6, 7,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 9,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 11,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::M2_dpmpyuu_acc_s0),
                   MVT::i64, 3, 8, 10, 12,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 15,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 17,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::M2_dpmpyuu_s0),
                   MVT::i64, 2, 16, 18,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 19, 20,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_combineir),
                   MVT::i64, 2, 14, 21,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_addp),
                   MVT::i64, 2, 13, 22,
   OPC_EmitIntegerI32, 32,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_lsr_i_p),
                   MVT::i64, 2, 23, 24,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 26,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 28,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::M2_dpmpyuu_acc_s0),
                   MVT::i64, 3, 25, 27, 29,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 31,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 33,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::M2_dpmpyuu_s0),
                   MVT::i64, 2, 32, 34,
   OPC_EmitIntegerI32, 32,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_lsr_i_p),
                   MVT::i64, 2, 35, 36,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_addp),
                   MVT::i64, 2, 30, 37,
  106, MVT::v32i16,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 114,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyuhvs),
                    MVT::v32i16, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 115,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyuhvs),
                    MVT::v32i16, 2, 0, 1,
   41,
    OPC_CheckPatternPredicate, 73,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyuhv),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyuhv),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 5, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshufoh),
                    MVT::v32i16, 2, 4, 7,
   41,
    OPC_CheckPatternPredicate, 74,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyuhv),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyuhv),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 5, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshufoh),
                    MVT::v32i16, 2, 4, 7,
   0,
  54, MVT::v64i16,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 116,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpyuhvs),
                    MVT::v64i16, 2, 0, 1,
   41,
    OPC_CheckPatternPredicate, 75,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyuhv),
                    MVT::v256i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyuhv),
                    MVT::v256i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 5, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshufoh),
                    MVT::v64i16, 2, 4, 7,
   0,
  13, MVT::v4i8,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::M5_vmpybuu),
                   MVT::i64, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vtrunohb),
                   MVT::v4i8, 1, 2,
  86, MVT::v64i8,
   OPC_Scope, 41,
    OPC_CheckPatternPredicate, 73,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyubv),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyubv),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 5, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffob),
                    MVT::v64i8, 2, 4, 7,
   41,
    OPC_CheckPatternPredicate, 74,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyubv),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyubv),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 5, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffob),
                    MVT::v64i8, 2, 4, 7,
   0,
  41, MVT::v128i8,
   OPC_CheckPatternPredicate, 75,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyubv),
                   MVT::v256i8, 2, 0, 1,
   OPC_EmitIntegerI32, Hexagon::vsub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 2, 3,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpyubv),
                   MVT::v256i8, 2, 0, 1,
   OPC_EmitIntegerI32, Hexagon::vsub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 5, 6,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffob),
                   MVT::v128i8, 2, 4, 7,
  66, MVT::v2i32,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 3,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 5,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::M2_mpyu_up),
                   MVT::i32, 2, 4, 6,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 9,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 11,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::M2_mpyu_up),
                   MVT::i32, 2, 10, 12,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v2i32, 5, 2, 7, 8, 13, 14,
  78, MVT::v8i8,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 3,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 5,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::M5_vmpybuu),
                   MVT::i64, 2, 4, 6,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_vtrunohb),
                   MVT::i32, 1, 7,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 10,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 12,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::M5_vmpybuu),
                   MVT::i64, 2, 11, 13,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_vtrunohb),
                   MVT::i32, 1, 14,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v8i8, 5, 2, 8, 9, 15, 16,
  41|128,1, MVT::v2i16,
   OPC_EmitNode2None, TARGET_VAL(Hexagon::M2_vmpy2s_s0),
                   MVT::i64, MVT::i1, 2, 0, 1,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 2, 4,
   OPC_EmitNode2None, TARGET_VAL(Hexagon::M2_vmpy2s_s0),
                   MVT::i64, MVT::i1, 2, 0, 1,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 6, 8,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_hh),
                   MVT::i32, 2, 5, 9,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::i64, 5, 11, 1, 12, 0, 13,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::i64, 5, 15, 0, 16, 1, 17,
   OPC_EmitIntegerI32, 15,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_asr_i_vh),
                   MVT::i64, 2, 18, 19,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_andp),
                   MVT::i64, 2, 14, 20,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 21, 22,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::i64, 5, 24, 1, 25, 0, 26,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::i64, 5, 28, 0, 29, 1, 30,
   OPC_EmitIntegerI32, 15,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_asr_i_vh),
                   MVT::i64, 2, 31, 32,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_andp),
                   MVT::i64, 2, 27, 33,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 34, 35,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_svaddh),
                   MVT::i32, 2, 23, 36,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_svaddh),
                   MVT::v2i16, 2, 10, 37,
  88|128,1, MVT::v4i16,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 3,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 5,
   OPC_EmitNode2None, TARGET_VAL(Hexagon::M2_vmpy2s_s0),
                   MVT::i64, MVT::i1, 2, 4, 6,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 7, 9,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 11,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 13,
   OPC_EmitNode2None, TARGET_VAL(Hexagon::M2_vmpy2s_s0),
                   MVT::i64, MVT::i1, 2, 12, 14,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 15, 17,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_hh),
                   MVT::i32, 2, 10, 18,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 21,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 23,
   OPC_EmitNode2None, TARGET_VAL(Hexagon::M2_vmpy2s_s0),
                   MVT::i64, MVT::i1, 2, 22, 24,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 25, 27,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 29,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 1, 31,
   OPC_EmitNode2None, TARGET_VAL(Hexagon::M2_vmpy2s_s0),
                   MVT::i64, MVT::i1, 2, 30, 32,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 33, 35,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_hh),
                   MVT::i32, 2, 28, 36,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::i64, 5, 2, 19, 20, 37, 38,
   OPC_EmitIntegerI32, 15,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_asr_i_vh),
                   MVT::i64, 2, 1, 40,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_andp),
                   MVT::i64, 2, 0, 41,
   OPC_EmitIntegerI32, 15,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_asr_i_vh),
                   MVT::i64, 2, 0, 43,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_andp),
                   MVT::i64, 2, 1, 44,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_vaddh),
                   MVT::i64, 2, 42, 45,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_vaddh),
                   MVT::v4i16, 2, 39, 46,
  0,
 126|128,1, TARGET_VAL(ISD::BITREVERSE),
  OPC_RecordChild0,
  OPC_SwitchType , 6, MVT::i32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_brev),
                   MVT::i32, 1, 0,
  6, MVT::i64,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_brevp),
                   MVT::i64, 1, 0,
  12, MVT::v4i8,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_brev),
                   MVT::i32, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_swiz),
                   MVT::v4i8, 1, 1,
  19, MVT::v2i16,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_brev),
                   MVT::i32, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_brev),
                   MVT::i32, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_combine_lh),
                   MVT::v2i16, 2, 1, 2,
  46, MVT::v2i32,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_brevp),
                   MVT::i64, 1, 0,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 2, 3,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_brevp),
                   MVT::i64, 1, 0,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 6, 7,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v2i32, 5, 1, 4, 5, 8, 9,
  58, MVT::v8i8,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_brevp),
                   MVT::i64, 1, 0,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 2, 3,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_swiz),
                   MVT::i32, 1, 4,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_brevp),
                   MVT::i64, 1, 0,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 7, 8,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_swiz),
                   MVT::i32, 1, 9,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v8i8, 5, 1, 5, 6, 10, 11,
  90, MVT::v4i16,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_brevp),
                   MVT::i64, 1, 0,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 2, 3,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_brevp),
                   MVT::i64, 1, 0,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 5, 6,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_lh),
                   MVT::i32, 2, 4, 7,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_brevp),
                   MVT::i64, 1, 0,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 10, 11,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_brevp),
                   MVT::i64, 1, 0,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 13, 14,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_combine_lh),
                   MVT::i32, 2, 12, 15,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v4i16, 5, 1, 8, 9, 16, 17,
  0,
 8, TARGET_VAL(HexagonISD::AT_PCREL),
  OPC_RecordChild0,
  OPC_EmitConvertToTarget0,
  OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_addipc),
                  MVT::i32, 1, 1,
 12, TARGET_VAL(HexagonISD::RET_GLUE),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitRegisterI32, Hexagon::R31,
  OPC_MorphNodeTo1, TARGET_VAL(Hexagon::PS_jmpret), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
                  MVT::i32, 1, 1,
 10, TARGET_VAL(HexagonISD::EH_RETURN),
  OPC_RecordNode,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitRegisterI32, Hexagon::R31,
  OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::EH_RETURN_JMPR),
                  MVT::i32, 1, 1,
 14, TARGET_VAL(ISD::BR),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
  OPC_MoveParent,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::J2_jump),
                  MVT::i32, 1, 1,
 10, TARGET_VAL(ISD::BRIND),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::J2_jumpr),
                  MVT::i32, 1, 1,
 6, TARGET_VAL(HexagonISD::BARRIER),
  OPC_RecordNode,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::Y2_barrier),
                  0,
 6, TARGET_VAL(ISD::TRAP),
  OPC_RecordNode,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::PS_crash),
                  0,
 6, TARGET_VAL(ISD::DEBUGTRAP),
  OPC_RecordNode,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0Chain, TARGET_VAL(Hexagon::Y2_break),
                  0,
 10, TARGET_VAL(HexagonISD::READCYCLE),
  OPC_RecordNode,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitRegisterI64, Hexagon::UPCYCLE,
  OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_tfrcpp),
                  MVT::i64, 1, 1,
 10, TARGET_VAL(HexagonISD::READTIMER),
  OPC_RecordNode,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitRegisterI64, Hexagon::UTIMER,
  OPC_MorphNodeTo1Chain, TARGET_VAL(Hexagon::A4_tfrcpp),
                  MVT::i64, 1, 1,
 9, TARGET_VAL(HexagonISD::THREAD_POINTER),
  OPC_CheckTypeI32,
  OPC_EmitRegisterI32, Hexagon::UGP,
  OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY),
                  MVT::i32, 1, 0,
 111, TARGET_VAL(HexagonISD::VEXTRACTW),
  OPC_RecordChild0,
  OPC_Scope, 23,
   OPC_CheckChild0Type, MVT::v64i8,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_extractw),
                    MVT::i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_extractw),
                    MVT::i32, 2, 0, 1,
   0,
  11,
   OPC_CheckChild0Type, MVT::v128i8,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_extractw),
                   MVT::i32, 2, 0, 1,
  23,
   OPC_CheckChild0Type, MVT::v32i16,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_extractw),
                    MVT::i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_extractw),
                    MVT::i32, 2, 0, 1,
   0,
  11,
   OPC_CheckChild0Type, MVT::v64i16,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_extractw),
                   MVT::i32, 2, 0, 1,
  23,
   OPC_CheckChild0Type, MVT::v16i32,
   OPC_RecordChild1,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_extractw),
                    MVT::i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_extractw),
                    MVT::i32, 2, 0, 1,
   0,
  11,
   OPC_CheckChild0Type, MVT::v32i32,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_extractw),
                   MVT::i32, 2, 0, 1,
  0,
 12|128,3, TARGET_VAL(ISD::CTPOP),
  OPC_RecordChild0,
  OPC_SwitchType , 16, MVT::i64,
   OPC_CheckChild0TypeI64,
   OPC_EmitIntegerI32, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S5_popcountp),
                   MVT::i32, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A4_combineir),
                   MVT::i64, 2, 1, 2,
  16, MVT::i32,
   OPC_CheckChild0TypeI32,
   OPC_EmitIntegerI32, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A4_combineir),
                   MVT::i64, 2, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S5_popcountp),
                   MVT::i32, 1, 2,
  20, MVT::v32i16,
   OPC_CheckChild0Type, MVT::v32i16,
   OPC_Scope, 7,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpopcounth),
                    MVT::v32i16, 1, 0,
   7,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpopcounth),
                    MVT::v32i16, 1, 0,
   0,
  9, MVT::v64i16,
   OPC_CheckChild0Type, MVT::v64i16,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpopcounth),
                   MVT::v64i16, 1, 0,
  106, MVT::v64i8,
   OPC_CheckChild0Type, MVT::v64i8,
   OPC_Scope, 50,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v128i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpopcounth),
                    MVT::v64i8, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v128i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 5, 6,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpopcounth),
                    MVT::v64i8, 1, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                    MVT::v64i8, 2, 4, 8,
   50,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v128i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpopcounth),
                    MVT::v64i8, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v128i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 5, 6,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpopcounth),
                    MVT::v64i8, 1, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                    MVT::v64i8, 2, 4, 8,
   0,
  52, MVT::v128i8,
   OPC_CheckChild0Type, MVT::v128i8,
   OPC_CheckPatternPredicate4,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                   MVT::v256i8, 1, 0,
   OPC_EmitIntegerI32, Hexagon::vsub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 1, 2,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpopcounth),
                   MVT::v128i8, 1, 3,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                   MVT::v256i8, 1, 0,
   OPC_EmitIntegerI32, Hexagon::vsub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 5, 6,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpopcounth),
                   MVT::v128i8, 1, 7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                   MVT::v128i8, 2, 4, 8,
  106, MVT::v16i32,
   OPC_CheckChild0Type, MVT::v16i32,
   OPC_Scope, 50,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpopcounth),
                    MVT::v64i8, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzh),
                    MVT::v128i8, 1, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpopcounth),
                    MVT::v64i8, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzh),
                    MVT::v128i8, 1, 5,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 6, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddw),
                    MVT::v16i32, 2, 4, 8,
   50,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpopcounth),
                    MVT::v64i8, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzh),
                    MVT::v128i8, 1, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpopcounth),
                    MVT::v64i8, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzh),
                    MVT::v128i8, 1, 5,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 6, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddw),
                    MVT::v16i32, 2, 4, 8,
   0,
  52, MVT::v32i32,
   OPC_CheckChild0Type, MVT::v32i32,
   OPC_CheckPatternPredicate4,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpopcounth),
                   MVT::v128i8, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzh),
                   MVT::v256i8, 1, 1,
   OPC_EmitIntegerI32, Hexagon::vsub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 2, 3,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpopcounth),
                   MVT::v128i8, 1, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzh),
                   MVT::v256i8, 1, 5,
   OPC_EmitIntegerI32, Hexagon::vsub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 6, 7,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddw),
                   MVT::v32i32, 2, 4, 8,
  0,
 15|128,1, TARGET_VAL(ISD::FP_TO_BF16),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::f32,
  OPC_CheckTypeI32,
  OPC_EmitIntegerI32, 16,
  OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_sfclass),
                  MVT::i1, 2, 0, 1,
  OPC_EmitIntegerI32, 127|128,127|128,1,
  OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                  MVT::i32, 1, 3,
  OPC_EmitIntegerI32, 127|128,127|128,7,
  OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                  MVT::i32, 1, 5,
  OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_and),
                  MVT::i32, 2, 0, 6,
  OPC_EmitIntegerI32, 0|128,0|128,2,
  OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                  MVT::i32, 1, 8,
  OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_cmpeq),
                  MVT::i1, 2, 7, 9,
  OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_asrh),
                  MVT::i32, 1, 0,
  OPC_EmitIntegerI32, 127|128,127|128,3,
  OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                  MVT::i32, 1, 12,
  OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_and),
                  MVT::i32, 2, 11, 13,
  OPC_EmitIntegerI32, 0|128,0|128,2,
  OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                  MVT::i32, 1, 15,
  OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_and),
                  MVT::i32, 2, 0, 16,
  OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_add),
                  MVT::i32, 2, 0, 17,
  OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_asrh),
                  MVT::i32, 1, 18,
  OPC_EmitIntegerI32, 127|128,127|128,3,
  OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                  MVT::i32, 1, 20,
  OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_and),
                  MVT::i32, 2, 19, 21,
  OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_mux),
                  MVT::i32, 3, 10, 14, 22,
  OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_mux),
                  MVT::i32, 3, 2, 4, 23,
 71|128,2, TARGET_VAL(ISD::FMUL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 0|128,1, MVT::f64,
   OPC_Scope, 35,
    OPC_CheckPredicate, 77,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfmpyll),
                    MVT::i64, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfmpylh),
                    MVT::i64, 3, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfmpylh),
                    MVT::i64, 3, 3, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfmpyhh),
                    MVT::f64, 3, 4, 0, 1,
   89,
    OPC_CheckPatternPredicate, 21,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfmpyfix),
                    MVT::i64, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfmpyfix),
                    MVT::i64, 2, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfmpyll),
                    MVT::i64, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfmpyfix),
                    MVT::i64, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfmpyfix),
                    MVT::i64, 2, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfmpylh),
                    MVT::i64, 3, 4, 5, 6,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfmpyfix),
                    MVT::i64, 2, 1, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfmpyfix),
                    MVT::i64, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfmpylh),
                    MVT::i64, 3, 7, 8, 9,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfmpyfix),
                    MVT::i64, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::F2_dfmpyfix),
                    MVT::i64, 2, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfmpyhh),
                    MVT::f64, 3, 10, 11, 12,
   0,
  7, MVT::f32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfmpy),
                   MVT::f32, 2, 0, 1,
  54, MVT::v32f16,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 42,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_hf_hf),
                    MVT::v32f16, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_hf_hf),
                    MVT::v32f16, 2, 0, 1,
   15,
    OPC_CheckPatternPredicate, 61,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpy_qf16_hf),
                    MVT::v32f16, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_hf_qf16),
                    MVT::v32f16, 1, 2,
   15,
    OPC_CheckPatternPredicate, 62,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpy_qf16_hf),
                    MVT::v32f16, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_hf_qf16),
                    MVT::v32f16, 1, 2,
   0,
  28, MVT::v64f16,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 44,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_hf_hf),
                    MVT::v64f16, 2, 0, 1,
   15,
    OPC_CheckPatternPredicate, 63,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpy_qf16_hf),
                    MVT::v64f16, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_hf_qf16),
                    MVT::v64f16, 1, 2,
   0,
  60, 13|128,1,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 42,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_sf_sf),
                    13|128,1, 2, 0, 1,
   10,
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_sf_sf),
                    13|128,1, 2, 0, 1,
   17,
    OPC_CheckPatternPredicate, 61,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpy_qf32_sf),
                    13|128,1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_sf_qf32),
                    13|128,1, 1, 2,
   17,
    OPC_CheckPatternPredicate, 62,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpy_qf32_sf),
                    13|128,1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_sf_qf32),
                    13|128,1, 1, 2,
   0,
  31, 14|128,1,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 44,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmpy_sf_sf),
                    14|128,1, 2, 0, 1,
   17,
    OPC_CheckPatternPredicate, 63,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmpy_qf32_sf),
                    14|128,1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_sf_qf32),
                    14|128,1, 1, 2,
   0,
  0,
 56, TARGET_VAL(ISD::FMA),
  OPC_Scope, 18,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::f32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sffms),
                   MVT::f32, 3, 2, 0, 1,
  34,
   OPC_RecordChild0,
   OPC_Scope, 17,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckType, MVT::f32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sffms),
                    MVT::f32, 3, 2, 1, 0,
   12,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckType, MVT::f32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sffma),
                    MVT::f32, 3, 2, 0, 1,
   0,
  0,
 25, TARGET_VAL(ISD::ConstantFP),
  OPC_RecordNode,
  OPC_SwitchType , 9, MVT::f32,
   OPC_EmitNodeXForm, 29, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_tfrsi),
                   MVT::f32, 1, 1,
  9, MVT::f64,
   OPC_EmitNodeXForm, 29, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::CONST64),
                   MVT::f64, 1, 1,
  0,
 70, TARGET_VAL(ISD::FP_EXTEND),
  OPC_RecordChild0,
  OPC_SwitchType , 6, MVT::f64,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_sf2df),
                   MVT::f64, 1, 0,
  36, 14|128,1,
   OPC_CheckChild0Type, MVT::v32f16,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate, 42,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vshuffh),
                    MVT::v64i8, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_sf_hf),
                    14|128,1, 1, 1,
   15,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vshuffh),
                    MVT::v64i8, 1, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_sf_hf),
                    14|128,1, 1, 1,
   0,
  17, 15|128,1,
   OPC_CheckChild0Type, MVT::v64f16,
   OPC_CheckPatternPredicate, 44,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vshuffh),
                   MVT::v128i8, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_sf_hf),
                   15|128,1, 1, 1,
  0,
 63|128,10, TARGET_VAL(ISD::FP_ROUND),
  OPC_RecordChild0,
  OPC_SwitchType , 6, MVT::f32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_df2sf),
                   MVT::f32, 1, 0,
  90|128,1, MVT::v32f16,
   OPC_Scope, 33,
    OPC_CheckPatternPredicate, 42,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vcvt_hf_sf),
                    MVT::v64i8, 2, 2, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdealh),
                    MVT::v32f16, 1, 5,
   33,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vcvt_hf_sf),
                    MVT::v64i8, 2, 2, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdealh),
                    MVT::v32f16, 1, 5,
   73,
    OPC_CheckPatternPredicate, 61,
    OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v64i8, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadd_sf),
                    MVT::v64i8, 2, 3, 4,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v64i8, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadd_sf),
                    MVT::v64i8, 2, 8, 9,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    14|128,1, 5, 1, 5, 6, 10, 11,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vconv_hf_qf32),
                    MVT::v64i8, 1, 12,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdealh),
                    MVT::v32f16, 1, 13,
   73,
    OPC_CheckPatternPredicate, 62,
    OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v64i8, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadd_sf),
                    MVT::v64i8, 2, 3, 4,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v64i8, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadd_sf),
                    MVT::v64i8, 2, 8, 9,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    14|128,1, 5, 1, 5, 6, 10, 11,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vconv_hf_qf32),
                    MVT::v64i8, 1, 12,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdealh),
                    MVT::v32f16, 1, 13,
   0,
  110, MVT::v64f16,
   OPC_Scope, 33,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vcvt_hf_sf),
                    MVT::v128i8, 2, 2, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdealh),
                    MVT::v64f16, 1, 5,
   73,
    OPC_CheckPatternPredicate, 63,
    OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 0, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v128i8, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadd_sf),
                    MVT::v128i8, 2, 3, 4,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 0, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v128i8, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadd_sf),
                    MVT::v128i8, 2, 8, 9,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    15|128,1, 5, 1, 5, 6, 10, 11,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vconv_hf_qf32),
                    MVT::v128i8, 1, 12,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vdealh),
                    MVT::v64f16, 1, 13,
   0,
  24|128,5, MVT::v32bf16,
   OPC_Scope, 73|128,2,
    OPC_CheckPatternPredicate, 117,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqsf),
                    MVT::v16i1, 2, 2, 4,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 6,
    OPC_EmitIntegerI32, 127|128,127|128,7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v64i8, 1, 8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vand),
                    MVT::v64i8, 2, 7, 9,
    OPC_EmitIntegerI32, 0|128,0|128,2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v64i8, 1, 11,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqw),
                    MVT::v16i1, 2, 10, 12,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 14,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 16,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 18,
    OPC_EmitIntegerI32, 0|128,0|128,2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v64i8, 1, 20,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vand),
                    MVT::v64i8, 2, 19, 21,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddw),
                    MVT::v64i8, 2, 17, 22,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmux),
                    MVT::v64i8, 3, 13, 15, 23,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 25,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrw),
                    MVT::v64i8, 2, 24, 26,
    OPC_EmitIntegerI32, 127|128,127|128,1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatih),
                    MVT::v64i8, 1, 28,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmux),
                    MVT::v64i8, 3, 5, 27, 29,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 31,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 33,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqsf),
                    MVT::v16i1, 2, 32, 34,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 36,
    OPC_EmitIntegerI32, 127|128,127|128,7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v64i8, 1, 38,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vand),
                    MVT::v64i8, 2, 37, 39,
    OPC_EmitIntegerI32, 0|128,0|128,2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v64i8, 1, 41,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqw),
                    MVT::v16i1, 2, 40, 42,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 44,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 46,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 48,
    OPC_EmitIntegerI32, 0|128,0|128,2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v64i8, 1, 50,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vand),
                    MVT::v64i8, 2, 49, 51,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddw),
                    MVT::v64i8, 2, 47, 52,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmux),
                    MVT::v64i8, 3, 43, 45, 53,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 55,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrw),
                    MVT::v64i8, 2, 54, 56,
    OPC_EmitIntegerI32, 127|128,127|128,1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatih),
                    MVT::v64i8, 1, 58,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmux),
                    MVT::v64i8, 3, 35, 57, 59,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackwuh_sat),
                    MVT::v32bf16, 2, 30, 60,
   73|128,2,
    OPC_CheckPatternPredicate, 118,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqsf),
                    MVT::v16i1, 2, 2, 4,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 6,
    OPC_EmitIntegerI32, 127|128,127|128,7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v64i8, 1, 8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vand),
                    MVT::v64i8, 2, 7, 9,
    OPC_EmitIntegerI32, 0|128,0|128,2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v64i8, 1, 11,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqw),
                    MVT::v16i1, 2, 10, 12,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 14,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 16,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 18,
    OPC_EmitIntegerI32, 0|128,0|128,2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v64i8, 1, 20,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vand),
                    MVT::v64i8, 2, 19, 21,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddw),
                    MVT::v64i8, 2, 17, 22,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmux),
                    MVT::v64i8, 3, 13, 15, 23,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 25,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrw),
                    MVT::v64i8, 2, 24, 26,
    OPC_EmitIntegerI32, 127|128,127|128,1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatih),
                    MVT::v64i8, 1, 28,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmux),
                    MVT::v64i8, 3, 5, 27, 29,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 31,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 33,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqsf),
                    MVT::v16i1, 2, 32, 34,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 36,
    OPC_EmitIntegerI32, 127|128,127|128,7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v64i8, 1, 38,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vand),
                    MVT::v64i8, 2, 37, 39,
    OPC_EmitIntegerI32, 0|128,0|128,2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v64i8, 1, 41,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqw),
                    MVT::v16i1, 2, 40, 42,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 44,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 46,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 48,
    OPC_EmitIntegerI32, 0|128,0|128,2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v64i8, 1, 50,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vand),
                    MVT::v64i8, 2, 49, 51,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddw),
                    MVT::v64i8, 2, 47, 52,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmux),
                    MVT::v64i8, 3, 43, 45, 53,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 55,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrw),
                    MVT::v64i8, 2, 54, 56,
    OPC_EmitIntegerI32, 127|128,127|128,1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatih),
                    MVT::v64i8, 1, 58,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmux),
                    MVT::v64i8, 3, 35, 57, 59,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackwuh_sat),
                    MVT::v32bf16, 2, 30, 60,
   0,
  73|128,2, MVT::v64bf16,
   OPC_CheckPatternPredicate, 119,
   OPC_EmitIntegerI32, Hexagon::vsub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 0, 1,
   OPC_EmitIntegerI32, Hexagon::vsub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 0, 3,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqsf),
                   MVT::v32i1, 2, 2, 4,
   OPC_EmitIntegerI32, Hexagon::vsub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 0, 6,
   OPC_EmitIntegerI32, 127|128,127|128,7,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                   MVT::v128i8, 1, 8,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vand),
                   MVT::v128i8, 2, 7, 9,
   OPC_EmitIntegerI32, 0|128,0|128,2,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                   MVT::v128i8, 1, 11,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqw),
                   MVT::v32i1, 2, 10, 12,
   OPC_EmitIntegerI32, Hexagon::vsub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 0, 14,
   OPC_EmitIntegerI32, Hexagon::vsub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 0, 16,
   OPC_EmitIntegerI32, Hexagon::vsub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 0, 18,
   OPC_EmitIntegerI32, 0|128,0|128,2,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                   MVT::v128i8, 1, 20,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vand),
                   MVT::v128i8, 2, 19, 21,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddw),
                   MVT::v128i8, 2, 17, 22,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmux),
                   MVT::v128i8, 3, 13, 15, 23,
   OPC_EmitIntegerI32, 16,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                   MVT::i32, 1, 25,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrw),
                   MVT::v128i8, 2, 24, 26,
   OPC_EmitIntegerI32, 127|128,127|128,1,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatih),
                   MVT::v128i8, 1, 28,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmux),
                   MVT::v128i8, 3, 5, 27, 29,
   OPC_EmitIntegerI32, Hexagon::vsub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 0, 31,
   OPC_EmitIntegerI32, Hexagon::vsub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 0, 33,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqsf),
                   MVT::v32i1, 2, 32, 34,
   OPC_EmitIntegerI32, Hexagon::vsub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 0, 36,
   OPC_EmitIntegerI32, 127|128,127|128,7,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                   MVT::v128i8, 1, 38,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vand),
                   MVT::v128i8, 2, 37, 39,
   OPC_EmitIntegerI32, 0|128,0|128,2,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                   MVT::v128i8, 1, 41,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqw),
                   MVT::v32i1, 2, 40, 42,
   OPC_EmitIntegerI32, Hexagon::vsub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 0, 44,
   OPC_EmitIntegerI32, Hexagon::vsub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 0, 46,
   OPC_EmitIntegerI32, Hexagon::vsub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 0, 48,
   OPC_EmitIntegerI32, 0|128,0|128,2,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                   MVT::v128i8, 1, 50,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vand),
                   MVT::v128i8, 2, 49, 51,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaddw),
                   MVT::v128i8, 2, 47, 52,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmux),
                   MVT::v128i8, 3, 43, 45, 53,
   OPC_EmitIntegerI32, 16,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                   MVT::i32, 1, 55,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrw),
                   MVT::v128i8, 2, 54, 56,
   OPC_EmitIntegerI32, 127|128,127|128,1,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatih),
                   MVT::v128i8, 1, 58,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vmux),
                   MVT::v128i8, 3, 35, 57, 59,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vpackwuh_sat),
                   MVT::v64bf16, 2, 30, 60,
  0,
 34|128,1, TARGET_VAL(ISD::SINT_TO_FP),
  OPC_RecordChild0,
  OPC_Scope, 19,
   OPC_CheckChild0TypeI32,
   OPC_SwitchType , 6, MVT::f32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_w2sf),
                    MVT::f32, 1, 0,
   6, MVT::f64,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_w2df),
                    MVT::f64, 1, 0,
   0,
  19,
   OPC_CheckChild0TypeI64,
   OPC_SwitchType , 6, MVT::f32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_d2sf),
                    MVT::f32, 1, 0,
   6, MVT::f64,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_d2df),
                    MVT::f64, 1, 0,
   0,
  24,
   OPC_CheckChild0Type, MVT::v32i16,
   OPC_CheckType, MVT::v32f16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 42,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_h),
                    MVT::v32f16, 1, 0,
   8,
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_h),
                    MVT::v32f16, 1, 0,
   0,
  12,
   OPC_CheckChild0Type, MVT::v64i16,
   OPC_CheckType, MVT::v64f16,
   OPC_CheckPatternPredicate, 44,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_h),
                   MVT::v64f16, 1, 0,
  24,
   OPC_CheckChild0Type, MVT::v64i8,
   OPC_CheckType, MVT::v64f16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 42,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_b),
                    MVT::v64f16, 1, 0,
   8,
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_b),
                    MVT::v64f16, 1, 0,
   0,
  12,
   OPC_CheckChild0Type, MVT::v128i8,
   OPC_CheckType, MVT::v128f16,
   OPC_CheckPatternPredicate, 44,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_b),
                   MVT::v128f16, 1, 0,
  27,
   OPC_CheckChild0Type, MVT::v16i32,
   OPC_CheckType, 13|128,1,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 120,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_sf_w),
                    13|128,1, 1, 0,
   9,
    OPC_CheckPatternPredicate, 121,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_sf_w),
                    13|128,1, 1, 0,
   0,
  14,
   OPC_CheckChild0Type, MVT::v32i32,
   OPC_CheckType, 14|128,1,
   OPC_CheckPatternPredicate, 122,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_sf_w),
                   14|128,1, 1, 0,
  0,
 119, TARGET_VAL(ISD::UINT_TO_FP),
  OPC_RecordChild0,
  OPC_Scope, 19,
   OPC_CheckChild0TypeI32,
   OPC_SwitchType , 6, MVT::f32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_uw2sf),
                    MVT::f32, 1, 0,
   6, MVT::f64,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_uw2df),
                    MVT::f64, 1, 0,
   0,
  19,
   OPC_CheckChild0TypeI64,
   OPC_SwitchType , 6, MVT::f32,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_ud2sf),
                    MVT::f32, 1, 0,
   6, MVT::f64,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_conv_ud2df),
                    MVT::f64, 1, 0,
   0,
  24,
   OPC_CheckChild0Type, MVT::v32i16,
   OPC_CheckType, MVT::v32f16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 42,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_uh),
                    MVT::v32f16, 1, 0,
   8,
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_uh),
                    MVT::v32f16, 1, 0,
   0,
  12,
   OPC_CheckChild0Type, MVT::v64i16,
   OPC_CheckType, MVT::v64f16,
   OPC_CheckPatternPredicate, 44,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_uh),
                   MVT::v64f16, 1, 0,
  24,
   OPC_CheckChild0Type, MVT::v64i8,
   OPC_CheckType, MVT::v64f16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 42,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_ub),
                    MVT::v64f16, 1, 0,
   8,
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_ub),
                    MVT::v64f16, 1, 0,
   0,
  12,
   OPC_CheckChild0Type, MVT::v128i8,
   OPC_CheckType, MVT::v128f16,
   OPC_CheckPatternPredicate, 44,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vcvt_hf_ub),
                   MVT::v128f16, 1, 0,
  0,
 59, TARGET_VAL(ISD::FABS),
  OPC_RecordChild0,
  OPC_SwitchType , 9, MVT::f32,
   OPC_EmitIntegerI32, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_clrbit_i),
                   MVT::f32, 2, 0, 1,
  43, MVT::f64,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 2,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_clrbit_i),
                   MVT::i32, 2, 3, 4,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 7,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::f64, 5, 1, 5, 6, 8, 9,
  0,
 59, TARGET_VAL(ISD::FNEG),
  OPC_RecordChild0,
  OPC_SwitchType , 9, MVT::f32,
   OPC_EmitIntegerI32, 31,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_togglebit_i),
                   MVT::f32, 2, 0, 1,
  43, MVT::f64,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 2,
   OPC_EmitIntegerI32, 31,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_togglebit_i),
                   MVT::i32, 2, 3, 4,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::i32, 2, 0, 7,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::f64, 5, 1, 5, 6, 8, 9,
  0,
 79|128,1, TARGET_VAL(ISD::FADD),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 7, MVT::f32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfadd),
                   MVT::f32, 2, 0, 1,
  9, MVT::f64,
   OPC_CheckPatternPredicate, 56,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfadd),
                   MVT::f64, 2, 0, 1,
  54, MVT::v32f16,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 42,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_hf_hf),
                    MVT::v32f16, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_hf_hf),
                    MVT::v32f16, 2, 0, 1,
   15,
    OPC_CheckPatternPredicate, 61,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadd_hf),
                    MVT::v32f16, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_hf_qf16),
                    MVT::v32f16, 1, 2,
   15,
    OPC_CheckPatternPredicate, 62,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadd_hf),
                    MVT::v32f16, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_hf_qf16),
                    MVT::v32f16, 1, 2,
   0,
  28, MVT::v64f16,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 44,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_hf_hf),
                    MVT::v64f16, 2, 0, 1,
   15,
    OPC_CheckPatternPredicate, 63,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadd_hf),
                    MVT::v64f16, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_hf_qf16),
                    MVT::v64f16, 1, 2,
   0,
  60, 13|128,1,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 42,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_sf_sf),
                    13|128,1, 2, 0, 1,
   10,
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_sf_sf),
                    13|128,1, 2, 0, 1,
   17,
    OPC_CheckPatternPredicate, 61,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadd_sf),
                    13|128,1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_sf_qf32),
                    13|128,1, 1, 2,
   17,
    OPC_CheckPatternPredicate, 62,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadd_sf),
                    13|128,1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_sf_qf32),
                    13|128,1, 1, 2,
   0,
  31, 14|128,1,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 44,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadd_sf_sf),
                    14|128,1, 2, 0, 1,
   17,
    OPC_CheckPatternPredicate, 63,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vadd_sf),
                    14|128,1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_sf_qf32),
                    14|128,1, 1, 2,
   0,
  0,
 79|128,1, TARGET_VAL(ISD::FSUB),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 7, MVT::f32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfsub),
                   MVT::f32, 2, 0, 1,
  9, MVT::f64,
   OPC_CheckPatternPredicate, 56,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfsub),
                   MVT::f64, 2, 0, 1,
  54, MVT::v32f16,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 42,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_hf_hf),
                    MVT::v32f16, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_hf_hf),
                    MVT::v32f16, 2, 0, 1,
   15,
    OPC_CheckPatternPredicate, 61,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsub_hf),
                    MVT::v32f16, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_hf_qf16),
                    MVT::v32f16, 1, 2,
   15,
    OPC_CheckPatternPredicate, 62,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsub_hf),
                    MVT::v32f16, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_hf_qf16),
                    MVT::v32f16, 1, 2,
   0,
  28, MVT::v64f16,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 44,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_hf_hf),
                    MVT::v64f16, 2, 0, 1,
   15,
    OPC_CheckPatternPredicate, 63,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsub_hf),
                    MVT::v64f16, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_hf_qf16),
                    MVT::v64f16, 1, 2,
   0,
  60, 13|128,1,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 42,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_sf_sf),
                    13|128,1, 2, 0, 1,
   10,
    OPC_CheckPatternPredicate, 43,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_sf_sf),
                    13|128,1, 2, 0, 1,
   17,
    OPC_CheckPatternPredicate, 61,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsub_sf),
                    13|128,1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_sf_qf32),
                    13|128,1, 1, 2,
   17,
    OPC_CheckPatternPredicate, 62,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsub_sf),
                    13|128,1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_sf_qf32),
                    13|128,1, 1, 2,
   0,
  31, 14|128,1,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 44,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsub_sf_sf),
                    14|128,1, 2, 0, 1,
   17,
    OPC_CheckPatternPredicate, 63,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsub_sf),
                    14|128,1, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vconv_sf_qf32),
                    14|128,1, 1, 2,
   0,
  0,
 40|128,1, TARGET_VAL(ISD::FMINIMUMNUM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 7, MVT::f32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfmin),
                   MVT::f32, 2, 0, 1,
  9, MVT::f64,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfmin),
                   MVT::f64, 2, 0, 1,
  42, MVT::v32f16,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 45,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_hf),
                    MVT::v32f16, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_hf),
                    MVT::v32f16, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 47,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_hf),
                    MVT::v32f16, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 48,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_hf),
                    MVT::v32f16, 2, 0, 1,
   0,
  22, MVT::v64f16,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 20,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_hf),
                    MVT::v64f16, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 49,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_hf),
                    MVT::v64f16, 2, 0, 1,
   0,
  46, 13|128,1,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 45,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_sf),
                    13|128,1, 2, 0, 1,
   10,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_sf),
                    13|128,1, 2, 0, 1,
   10,
    OPC_CheckPatternPredicate, 47,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_sf),
                    13|128,1, 2, 0, 1,
   10,
    OPC_CheckPatternPredicate, 48,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_sf),
                    13|128,1, 2, 0, 1,
   0,
  24, 14|128,1,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 20,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_sf),
                    14|128,1, 2, 0, 1,
   10,
    OPC_CheckPatternPredicate, 49,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_sf),
                    14|128,1, 2, 0, 1,
   0,
  0,
 40|128,1, TARGET_VAL(ISD::FMAXIMUMNUM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 7, MVT::f32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_sfmax),
                   MVT::f32, 2, 0, 1,
  9, MVT::f64,
   OPC_CheckPatternPredicate, 21,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::F2_dfmax),
                   MVT::f64, 2, 0, 1,
  42, MVT::v32f16,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 45,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_hf),
                    MVT::v32f16, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_hf),
                    MVT::v32f16, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 47,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_hf),
                    MVT::v32f16, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 48,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_hf),
                    MVT::v32f16, 2, 0, 1,
   0,
  22, MVT::v64f16,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 20,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_hf),
                    MVT::v64f16, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 49,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_hf),
                    MVT::v64f16, 2, 0, 1,
   0,
  46, 13|128,1,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 45,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_sf),
                    13|128,1, 2, 0, 1,
   10,
    OPC_CheckPatternPredicate, 46,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_sf),
                    13|128,1, 2, 0, 1,
   10,
    OPC_CheckPatternPredicate, 47,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_sf),
                    13|128,1, 2, 0, 1,
   10,
    OPC_CheckPatternPredicate, 48,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_sf),
                    13|128,1, 2, 0, 1,
   0,
  24, 14|128,1,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 20,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_sf),
                    14|128,1, 2, 0, 1,
   10,
    OPC_CheckPatternPredicate, 49,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_sf),
                    14|128,1, 2, 0, 1,
   0,
  0,
 8|128,15, TARGET_VAL(ISD::CONCAT_VECTORS),
  OPC_Scope, 38|128,5,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_Scope, 69|128,1,
    OPC_CheckChild0Integer, 0,
    OPC_CheckChild0TypeI32,
    OPC_SwitchType , 58, MVT::v64i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_Scope, 22,
      OPC_CheckChild0Integer, 0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v128i8,
      OPC_Scope, 6,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                       MVT::v128i8, 0,
      6,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                       MVT::v128i8, 0,
      0,
     28,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
      OPC_CheckPredicate, 29,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v128i8,
      OPC_Scope, 6,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                       MVT::v128i8, 0,
      6,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                       MVT::v128i8, 0,
      0,
     0,
    38, MVT::v128i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_Scope, 12,
      OPC_CheckChild0Integer, 0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v256i8,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v256i8, 0,
     18,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
      OPC_CheckPredicate, 29,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v256i8,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v256i8, 0,
     0,
    26, MVT::v32i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i16,
     OPC_Scope, 6,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v64i16, 0,
     6,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v64i16, 0,
     0,
    16, MVT::v64i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128i16,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v128i16, 0,
    26, MVT::v16i32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i32,
     OPC_Scope, 6,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v32i32, 0,
     6,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v32i32, 0,
     0,
    16, MVT::v32i32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i32,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v64i32, 0,
    0,
   57,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
    OPC_CheckPredicate, 29,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_SwitchType , 26, MVT::v64i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128i8,
     OPC_Scope, 6,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v128i8, 0,
     6,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v128i8, 0,
     0,
    16, MVT::v128i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v256i8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v256i8, 0,
    0,
   63,
    OPC_CheckChild0Integer, 0,
    OPC_CheckChild0TypeI32,
    OPC_SwitchType , 32, MVT::v32i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 29,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i16,
     OPC_Scope, 6,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v64i16, 0,
     6,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v64i16, 0,
     0,
    22, MVT::v64i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 29,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128i16,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v128i16, 0,
    0,
   57,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
    OPC_CheckPredicate, 29,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_SwitchType , 26, MVT::v32i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i16,
     OPC_Scope, 6,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v64i16, 0,
     6,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v64i16, 0,
     0,
    16, MVT::v64i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128i16,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v128i16, 0,
    0,
   63,
    OPC_CheckChild0Integer, 0,
    OPC_CheckChild0TypeI32,
    OPC_SwitchType , 32, MVT::v16i32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 29,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v32i32,
     OPC_Scope, 6,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v32i32, 0,
     6,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v32i32, 0,
     0,
    22, MVT::v32i32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 29,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i32,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v64i32, 0,
    0,
   99|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
    OPC_CheckPredicate, 29,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_SwitchType , 58, MVT::v16i32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_Scope, 22,
      OPC_CheckChild0Integer, 0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i32,
      OPC_Scope, 6,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                       MVT::v32i32, 0,
      6,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                       MVT::v32i32, 0,
      0,
     28,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
      OPC_CheckPredicate, 29,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v32i32,
      OPC_Scope, 6,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                       MVT::v32i32, 0,
      6,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                       MVT::v32i32, 0,
      0,
     0,
    38, MVT::v32i32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_Scope, 12,
      OPC_CheckChild0Integer, 0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i32,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v64i32, 0,
     18,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
      OPC_CheckPredicate, 29,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64i32,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v64i32, 0,
     0,
    32, MVT::v64i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 29,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128i8,
     OPC_Scope, 6,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v128i8, 0,
     6,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v128i8, 0,
     0,
    22, MVT::v128i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 29,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v256i8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v256i8, 0,
    32, MVT::v32i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 29,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64i16,
     OPC_Scope, 6,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v64i16, 0,
     6,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v64i16, 0,
     0,
    22, MVT::v64i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 29,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128i16,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v128i16, 0,
    0,
   0,
  70|128,1,
   OPC_RecordChild0,
   OPC_SwitchType , 41, MVT::v128i8,
    OPC_CheckChild0Type, MVT::v64i8,
    OPC_RecordChild1,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::v128i8, 5, 2, 1, 3, 0, 4,
    17,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::v128i8, 5, 2, 1, 3, 0, 4,
    0,
   20, MVT::v256i8,
    OPC_CheckChild0Type, MVT::v128i8,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v256i8, 5, 2, 1, 3, 0, 4,
   41, MVT::v64i16,
    OPC_CheckChild0Type, MVT::v32i16,
    OPC_RecordChild1,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::v64i16, 5, 2, 1, 3, 0, 4,
    17,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::v64i16, 5, 2, 1, 3, 0, 4,
    0,
   20, MVT::v128i16,
    OPC_CheckChild0Type, MVT::v64i16,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v128i16, 5, 2, 1, 3, 0, 4,
   41, MVT::v32i32,
    OPC_CheckChild0Type, MVT::v16i32,
    OPC_RecordChild1,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::v32i32, 5, 2, 1, 3, 0, 4,
    17,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::v32i32, 5, 2, 1, 3, 0, 4,
    0,
   20, MVT::v64i32,
    OPC_CheckChild0Type, MVT::v32i32,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v64i32, 5, 2, 1, 3, 0, 4,
   0,
  60|128,6,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
   OPC_Scope, 111|128,1,
    OPC_CheckChild0Integer, 0,
    OPC_CheckChild0TypeI32,
    OPC_Scope, 17,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64f16,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v64f16, 0,
    19,
     OPC_CheckType, MVT::v64f16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128f16,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v128f16, 0,
    28,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_SwitchType , 7, MVT::v64f16,
      OPC_CheckPatternPredicate, 15,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v64f16, 0,
     7, MVT::v64bf16,
      OPC_CheckPatternPredicate, 14,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v64bf16, 0,
     0,
    19,
     OPC_CheckType, MVT::v64bf16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128bf16,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v128bf16, 0,
    30,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_SwitchType , 7, MVT::v64bf16,
      OPC_CheckPatternPredicate, 15,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v64bf16, 0,
     8, 14|128,1,
      OPC_CheckPatternPredicate, 14,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      14|128,1, 0,
     0,
    22,
     OPC_CheckType, 14|128,1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, 15|128,1,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     15|128,1, 0,
    42,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_Scope, 15,
      OPC_CheckChild0Integer, 0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_CheckType, 14|128,1,
      OPC_CheckPatternPredicate, 15,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      14|128,1, 0,
     19,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
      OPC_CheckPredicate, 29,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64f16,
      OPC_CheckPatternPredicate, 14,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v64f16, 0,
     0,
    25,
     OPC_CheckType, MVT::v64f16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 29,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128f16,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v128f16, 0,
    23,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 29,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64f16,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v64f16, 0,
    0,
   67,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
    OPC_CheckPredicate, 29,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_Scope, 17,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64f16,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v64f16, 0,
    19,
     OPC_CheckType, MVT::v64f16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128f16,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v128f16, 0,
    17,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64f16,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v64f16, 0,
    0,
   79,
    OPC_CheckChild0Integer, 0,
    OPC_CheckChild0TypeI32,
    OPC_Scope, 23,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 29,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64bf16,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v64bf16, 0,
    25,
     OPC_CheckType, MVT::v64bf16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 29,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128bf16,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v128bf16, 0,
    23,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 29,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64bf16,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v64bf16, 0,
    0,
   67,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
    OPC_CheckPredicate, 29,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_Scope, 17,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64bf16,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v64bf16, 0,
    19,
     OPC_CheckType, MVT::v64bf16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128bf16,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v128bf16, 0,
    17,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v64bf16,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v64bf16, 0,
    0,
   86,
    OPC_CheckChild0Integer, 0,
    OPC_CheckChild0TypeI32,
    OPC_Scope, 25,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 29,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 14|128,1,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     14|128,1, 0,
    28,
     OPC_CheckType, 14|128,1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 29,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 15|128,1,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     15|128,1, 0,
    25,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 29,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 14|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     14|128,1, 0,
    0,
   20|128,2,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
    OPC_CheckPredicate, 29,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_Scope, 19,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, 14|128,1,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     14|128,1, 0,
    22,
     OPC_CheckType, 14|128,1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_CheckChild0Integer, 0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckType, 15|128,1,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     15|128,1, 0,
    42,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_Scope, 15,
      OPC_CheckChild0Integer, 0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_CheckType, 14|128,1,
      OPC_CheckPatternPredicate, 15,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      14|128,1, 0,
     19,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
      OPC_CheckPredicate, 29,
      OPC_CheckType, MVT::f32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64f16,
      OPC_CheckPatternPredicate, 14,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v64f16, 0,
     0,
    25,
     OPC_CheckType, MVT::v64f16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 29,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128f16,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v128f16, 0,
    34,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 29,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 7, MVT::v64f16,
      OPC_CheckPatternPredicate, 15,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v64f16, 0,
     7, MVT::v64bf16,
      OPC_CheckPatternPredicate, 14,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v64bf16, 0,
     0,
    25,
     OPC_CheckType, MVT::v64bf16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 29,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v128bf16,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v128bf16, 0,
    36,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 29,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 7, MVT::v64bf16,
      OPC_CheckPatternPredicate, 15,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      MVT::v64bf16, 0,
     8, 14|128,1,
      OPC_CheckPatternPredicate, 14,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                      14|128,1, 0,
     0,
    28,
     OPC_CheckType, 14|128,1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 29,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 15|128,1,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     15|128,1, 0,
    25,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SPLAT_VECTOR),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckPredicate, 29,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 14|128,1,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     14|128,1, 0,
    0,
   0,
  86|128,1,
   OPC_RecordChild0,
   OPC_Scope, 21,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v64f16,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v64f16, 5, 2, 1, 3, 0, 4,
   23,
    OPC_CheckChild0Type, MVT::v64f16,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v128f16,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v128f16, 5, 2, 1, 3, 0, 4,
   43,
    OPC_RecordChild1,
    OPC_SwitchType , 18, MVT::v64f16,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::v64f16, 5, 2, 1, 3, 0, 4,
    18, MVT::v64bf16,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::v64bf16, 5, 2, 1, 3, 0, 4,
    0,
   23,
    OPC_CheckChild0Type, MVT::v64bf16,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v128bf16,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v128bf16, 5, 2, 1, 3, 0, 4,
   45,
    OPC_RecordChild1,
    OPC_SwitchType , 18, MVT::v64bf16,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::v64bf16, 5, 2, 1, 3, 0, 4,
    19, 14|128,1,
     OPC_CheckPatternPredicate, 14,
     OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     14|128,1, 5, 2, 1, 3, 0, 4,
    0,
   26,
    OPC_CheckChild0Type, 14|128,1,
    OPC_RecordChild1,
    OPC_CheckType, 15|128,1,
    OPC_CheckPatternPredicate, 16,
    OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    15|128,1, 5, 2, 1, 3, 0, 4,
   23,
    OPC_RecordChild1,
    OPC_CheckType, 14|128,1,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    14|128,1, 5, 2, 1, 3, 0, 4,
   0,
  0,
 118|128,16, TARGET_VAL(ISD::SPLAT_VECTOR),
  OPC_Scope, 30|128,1,
   OPC_CheckChild0Integer, 0,
   OPC_CheckChild0TypeI32,
   OPC_SwitchType , 16, MVT::v64i8,
    OPC_Scope, 6,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v64i8, 0,
    6,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v64i8, 0,
    0,
   23, MVT::v128i8,
    OPC_Scope, 6,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v128i8, 0,
    6,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v128i8, 0,
    6,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v128i8, 0,
    0,
   16, MVT::v32i16,
    OPC_Scope, 6,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v32i16, 0,
    6,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v32i16, 0,
    0,
   23, MVT::v64i16,
    OPC_Scope, 6,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v64i16, 0,
    6,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v64i16, 0,
    6,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v64i16, 0,
    0,
   16, MVT::v16i32,
    OPC_Scope, 6,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v16i32, 0,
    6,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v16i32, 0,
    0,
   23, MVT::v32i32,
    OPC_Scope, 6,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v32i32, 0,
    6,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v32i32, 0,
    6,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v32i32, 0,
    0,
   6, MVT::v256i8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                    MVT::v256i8, 0,
   6, MVT::v128i16,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                    MVT::v128i16, 0,
   6, MVT::v64i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                    MVT::v64i32, 0,
   0,
  36|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
   OPC_CheckPredicate, 29,
   OPC_CheckType, MVT::f32,
   OPC_MoveParent,
   OPC_SwitchType , 16, MVT::v64i8,
    OPC_Scope, 6,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v64i8, 0,
    6,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v64i8, 0,
    0,
   23, MVT::v128i8,
    OPC_Scope, 6,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v128i8, 0,
    6,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v128i8, 0,
    6,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v128i8, 0,
    0,
   16, MVT::v32i16,
    OPC_Scope, 6,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v32i16, 0,
    6,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v32i16, 0,
    0,
   23, MVT::v64i16,
    OPC_Scope, 6,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v64i16, 0,
    6,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v64i16, 0,
    6,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v64i16, 0,
    0,
   16, MVT::v16i32,
    OPC_Scope, 6,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v16i32, 0,
    6,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v16i32, 0,
    0,
   23, MVT::v32i32,
    OPC_Scope, 6,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v32i32, 0,
    6,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v32i32, 0,
    6,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v32i32, 0,
    0,
   6, MVT::v256i8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                    MVT::v256i8, 0,
   6, MVT::v128i16,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                    MVT::v128i16, 0,
   6, MVT::v64i32,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                    MVT::v64i32, 0,
   0,
  41|128,8,
   OPC_RecordChild0,
   OPC_Scope, 10|128,1,
    OPC_CheckChild0TypeI32,
    OPC_SwitchType , 22, MVT::v16i32,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat3, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                      MVT::v16i32, 1, 1,
     9,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat3, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                      MVT::v16i32, 1, 1,
     0,
    76, MVT::v32i32,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat3, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                      MVT::v32i32, 1, 1,
     31,
      OPC_CheckPatternPredicate2,
      OPC_CheckComplexPat3, /*#*/0,
      OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                      MVT::v64i8, 1, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                      MVT::v64i8, 1, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v32i32, 5, 2, 3, 4, 5, 6,
     31,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat3, /*#*/0,
      OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                      MVT::v64i8, 1, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                      MVT::v64i8, 1, 1,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v32i32, 5, 2, 3, 4, 5, 6,
     0,
    31, MVT::v64i32,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat3, /*#*/0,
     OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                     MVT::v128i8, 1, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                     MVT::v128i8, 1, 1,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::v64i32, 5, 2, 3, 4, 5, 6,
    0,
   56|128,2,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckTypeI32,
    OPC_Scope, 14,
     OPC_CheckPredicate, 42,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_EmitConvertToTarget0,
     OPC_EmitConvertToTarget0,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_combineii),
                     MVT::v2i32, 2, 1, 2,
    37,
     OPC_CheckPredicate, 50,
     OPC_MoveParent,
     OPC_SwitchType , 20, MVT::v64i8,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_EmitConvertToTarget0,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatib),
                       MVT::v64i8, 1, 1,
      8,
       OPC_CheckPatternPredicate3,
       OPC_EmitConvertToTarget0,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatib),
                       MVT::v64i8, 1, 1,
      0,
     8, MVT::v128i8,
      OPC_CheckPatternPredicate4,
      OPC_EmitConvertToTarget0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatib),
                      MVT::v128i8, 1, 1,
     0,
    37,
     OPC_CheckPredicate, 51,
     OPC_MoveParent,
     OPC_SwitchType , 20, MVT::v32i16,
      OPC_Scope, 8,
       OPC_CheckPatternPredicate2,
       OPC_EmitConvertToTarget0,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatih),
                       MVT::v32i16, 1, 1,
      8,
       OPC_CheckPatternPredicate3,
       OPC_EmitConvertToTarget0,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatih),
                       MVT::v32i16, 1, 1,
      0,
     8, MVT::v64i16,
      OPC_CheckPatternPredicate4,
      OPC_EmitConvertToTarget0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatih),
                      MVT::v64i16, 1, 1,
     0,
    106,
     OPC_CheckPredicate, 50,
     OPC_MoveParent,
     OPC_SwitchType , 66, MVT::v128i8,
      OPC_Scope, 31,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
       OPC_EmitConvertToTarget0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatib),
                       MVT::v64i8, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitConvertToTarget0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatib),
                       MVT::v64i8, 1, 5,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::v128i8, 5, 1, 3, 4, 6, 7,
      31,
       OPC_CheckPatternPredicate3,
       OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
       OPC_EmitConvertToTarget0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatib),
                       MVT::v64i8, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitConvertToTarget0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatib),
                       MVT::v64i8, 1, 5,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::v128i8, 5, 1, 3, 4, 6, 7,
      0,
     31, MVT::v256i8,
      OPC_CheckPatternPredicate4,
      OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
      OPC_EmitConvertToTarget0,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatib),
                      MVT::v128i8, 1, 2,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitConvertToTarget0,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatib),
                      MVT::v128i8, 1, 5,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v256i8, 5, 1, 3, 4, 6, 7,
     0,
    106,
     OPC_CheckPredicate, 51,
     OPC_MoveParent,
     OPC_SwitchType , 66, MVT::v64i16,
      OPC_Scope, 31,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
       OPC_EmitConvertToTarget0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatih),
                       MVT::v64i8, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitConvertToTarget0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatih),
                       MVT::v64i8, 1, 5,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::v64i16, 5, 1, 3, 4, 6, 7,
      31,
       OPC_CheckPatternPredicate3,
       OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
       OPC_EmitConvertToTarget0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatih),
                       MVT::v64i8, 1, 2,
       OPC_EmitIntegerI32, Hexagon::vsub_hi,
       OPC_EmitConvertToTarget0,
       OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatih),
                       MVT::v64i8, 1, 5,
       OPC_EmitIntegerI32, Hexagon::vsub_lo,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                       MVT::v64i16, 5, 1, 3, 4, 6, 7,
      0,
     31, MVT::v128i16,
      OPC_CheckPatternPredicate4,
      OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
      OPC_EmitConvertToTarget0,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatih),
                      MVT::v128i8, 1, 2,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitConvertToTarget0,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatih),
                      MVT::v128i8, 1, 5,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v128i16, 5, 1, 3, 4, 6, 7,
     0,
    0,
   94|128,4,
    OPC_CheckChild0TypeI32,
    OPC_SwitchType , 77, MVT::v8i8,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 64,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S6_vsplatrbp),
                      MVT::v8i8, 1, 0,
     36,
      OPC_CheckComplexPat7, /*#*/0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNodeXForm, 33, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 3,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitNodeXForm, 33, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 6,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v8i8, 5, 2, 4, 5, 7, 8,
     28,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_vsplatrb),
                      MVT::i32, 1, 0,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_vsplatrb),
                      MVT::i32, 1, 0,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v8i8, 5, 1, 2, 3, 4, 5,
     0,
    21, MVT::v4i8,
     OPC_Scope, 11,
      OPC_CheckComplexPat7, /*#*/0,
      OPC_EmitNodeXForm, 33, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::v4i8, 1, 2,
     6,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vsplatrb),
                      MVT::v4i8, 1, 0,
     0,
    30, MVT::v2i16,
     OPC_Scope, 11,
      OPC_CheckComplexPat7, /*#*/0,
      OPC_EmitNodeXForm, 34, 1,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::v2i16, 1, 2,
     15,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_vsplatrh),
                      MVT::i64, 1, 0,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i16, 2, 1, 2,
     0,
    46, MVT::v4i16,
     OPC_Scope, 36,
      OPC_CheckComplexPat7, /*#*/0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNodeXForm, 34, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 3,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitNodeXForm, 34, 1,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 6,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v4i16, 5, 2, 4, 5, 7, 8,
     6,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_vsplatrh),
                      MVT::v4i16, 1, 0,
     0,
    50, MVT::v2i32,
     OPC_Scope, 30,
      OPC_CheckComplexPat3, /*#*/0,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 1,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                      MVT::i32, 1, 1,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v2i32, 5, 2, 3, 4, 5, 6,
     16,
      OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
      OPC_EmitIntegerI32, Hexagon::isub_hi,
      OPC_EmitIntegerI32, Hexagon::isub_lo,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v2i32, 5, 1, 0, 2, 0, 3,
     0,
    18, MVT::v64i8,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatrb),
                      MVT::v64i8, 1, 0,
     7,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatrb),
                      MVT::v64i8, 1, 0,
     0,
    70, MVT::v128i8,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatrb),
                      MVT::v128i8, 1, 0,
     29,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatrb),
                      MVT::v64i8, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatrb),
                      MVT::v64i8, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v128i8, 5, 1, 2, 3, 4, 5,
     29,
      OPC_CheckPatternPredicate3,
      OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatrb),
                      MVT::v64i8, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatrb),
                      MVT::v64i8, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v128i8, 5, 1, 2, 3, 4, 5,
     0,
    18, MVT::v32i16,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatrh),
                      MVT::v32i16, 1, 0,
     7,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatrh),
                      MVT::v32i16, 1, 0,
     0,
    70, MVT::v64i16,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatrh),
                      MVT::v64i16, 1, 0,
     29,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatrh),
                      MVT::v64i8, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatrh),
                      MVT::v64i8, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v64i16, 5, 1, 2, 3, 4, 5,
     29,
      OPC_CheckPatternPredicate3,
      OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatrh),
                      MVT::v64i8, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatrh),
                      MVT::v64i8, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v64i16, 5, 1, 2, 3, 4, 5,
     0,
    18, MVT::v16i32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatrw),
                      MVT::v16i32, 1, 0,
     7,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatrw),
                      MVT::v16i32, 1, 0,
     0,
    70, MVT::v32i32,
     OPC_Scope, 7,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatrw),
                      MVT::v32i32, 1, 0,
     29,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatrw),
                      MVT::v64i8, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatrw),
                      MVT::v64i8, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v32i32, 5, 1, 2, 3, 4, 5,
     29,
      OPC_CheckPatternPredicate3,
      OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatrw),
                      MVT::v64i8, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_hi,
      OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatrw),
                      MVT::v64i8, 1, 0,
      OPC_EmitIntegerI32, Hexagon::vsub_lo,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v32i32, 5, 1, 2, 3, 4, 5,
     0,
    29, MVT::v256i8,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatrb),
                     MVT::v128i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatrb),
                     MVT::v128i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::v256i8, 5, 1, 2, 3, 4, 5,
    29, MVT::v128i16,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatrh),
                     MVT::v128i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatrh),
                     MVT::v128i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::v128i16, 5, 1, 2, 3, 4, 5,
    29, MVT::v64i32,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatrw),
                     MVT::v128i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_hi,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatrw),
                     MVT::v128i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::v64i32, 5, 1, 2, 3, 4, 5,
    0,
   0,
  84|128,1,
   OPC_CheckChild0Integer, 0,
   OPC_CheckChild0TypeI32,
   OPC_SwitchType , 45, 14|128,1,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     14|128,1, 0,
    7,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     14|128,1, 0,
    8,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     14|128,1, 0,
    8,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     14|128,1, 0,
    8,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     14|128,1, 0,
    0,
   19, 15|128,1,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     15|128,1, 0,
    8,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     15|128,1, 0,
    0,
   18, MVT::v32f16,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v32f16, 0,
    7,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v32f16, 0,
    0,
   26, MVT::v64f16,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v64f16, 0,
    7,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v64f16, 0,
    7,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v64f16, 0,
    0,
   18, MVT::v32bf16,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v32bf16, 0,
    7,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v32bf16, 0,
    0,
   26, MVT::v64bf16,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v64bf16, 0,
    7,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v64bf16, 0,
    7,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v64bf16, 0,
    0,
   20, 13|128,1,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     13|128,1, 0,
    8,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     13|128,1, 0,
    0,
   7, MVT::v128f16,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                    MVT::v128f16, 0,
   7, MVT::v128bf16,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                    MVT::v128bf16, 0,
   0,
  90|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
   OPC_CheckPredicate, 29,
   OPC_CheckType, MVT::f32,
   OPC_MoveParent,
   OPC_SwitchType , 45, 14|128,1,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     14|128,1, 0,
    7,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     14|128,1, 0,
    8,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     14|128,1, 0,
    8,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     14|128,1, 0,
    8,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     14|128,1, 0,
    0,
   19, 15|128,1,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     15|128,1, 0,
    8,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     15|128,1, 0,
    0,
   18, MVT::v32f16,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v32f16, 0,
    7,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v32f16, 0,
    0,
   26, MVT::v64f16,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v64f16, 0,
    7,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v64f16, 0,
    7,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v64f16, 0,
    0,
   18, MVT::v32bf16,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v32bf16, 0,
    7,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v32bf16, 0,
    0,
   26, MVT::v64bf16,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate, 16,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     MVT::v64bf16, 0,
    7,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v64bf16, 0,
    7,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                     MVT::v64bf16, 0,
    0,
   20, 13|128,1,
    OPC_Scope, 8,
     OPC_CheckPatternPredicate, 14,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     13|128,1, 0,
    8,
     OPC_CheckPatternPredicate, 15,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vd0),
                     13|128,1, 0,
    0,
   7, MVT::v128f16,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                    MVT::v128f16, 0,
   7, MVT::v128bf16,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vdd0),
                    MVT::v128bf16, 0,
   0,
  79|128,2,
   OPC_RecordChild0,
   OPC_Scope, 46,
    OPC_CheckChild0TypeI32,
    OPC_SwitchType , 26, 13|128,1,
     OPC_Scope, 11,
      OPC_CheckPatternPredicate, 11,
      OPC_CheckComplexPat7, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                      13|128,1, 1, 1,
     11,
      OPC_CheckPatternPredicate, 12,
      OPC_CheckComplexPat7, /*#*/0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                      13|128,1, 1, 1,
     0,
    11, 14|128,1,
     OPC_CheckPatternPredicate, 13,
     OPC_CheckComplexPat7, /*#*/0,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                     14|128,1, 1, 1,
    0,
   8|128,1,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 76, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 51,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_SwitchType , 22, MVT::v32f16,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitConvertToTarget0,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatih),
                       MVT::v32f16, 1, 1,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitConvertToTarget0,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatih),
                       MVT::v32f16, 1, 1,
      0,
     9, MVT::v64f16,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitConvertToTarget0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatih),
                      MVT::v64f16, 1, 1,
     22, MVT::v32bf16,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitConvertToTarget0,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatih),
                       MVT::v32bf16, 1, 1,
      9,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitConvertToTarget0,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatih),
                       MVT::v32bf16, 1, 1,
      0,
     9, MVT::v64bf16,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitConvertToTarget0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatih),
                      MVT::v64bf16, 1, 1,
     0,
    51, TARGET_VAL(ISD::ConstantFP),
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_SwitchType , 28, 13|128,1,
      OPC_Scope, 12,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitNodeXForm, 29, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                       13|128,1, 1, 1,
      12,
       OPC_CheckPatternPredicate, 12,
       OPC_EmitNodeXForm, 29, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                       13|128,1, 1, 1,
      0,
     12, 14|128,1,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitNodeXForm, 29, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                      14|128,1, 1, 1,
     0,
    0,
   104,
    OPC_CheckChild0TypeI32,
    OPC_SwitchType , 20, MVT::v32f16,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatrh),
                      MVT::v32f16, 1, 0,
     8,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatrh),
                      MVT::v32f16, 1, 0,
     0,
    8, MVT::v64f16,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatrh),
                     MVT::v64f16, 1, 0,
    20, MVT::v32bf16,
     OPC_Scope, 8,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatrh),
                      MVT::v32bf16, 1, 0,
     8,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatrh),
                      MVT::v32bf16, 1, 0,
     0,
    8, MVT::v64bf16,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatrh),
                     MVT::v64bf16, 1, 0,
    22, 13|128,1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatrw),
                      13|128,1, 1, 0,
     9,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatrw),
                      13|128,1, 1, 0,
     0,
    9, 14|128,1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatrw),
                     14|128,1, 1, 0,
    0,
   41,
    OPC_CheckChild0Type, MVT::f32,
    OPC_SwitchType , 22, 13|128,1,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatrw),
                      13|128,1, 1, 0,
     9,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatrw),
                      13|128,1, 1, 0,
     0,
    9, 14|128,1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_vsplatrw),
                     14|128,1, 1, 0,
    0,
   0,
  0,
 5|128,8, TARGET_VAL(HexagonISD::MFSHR),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 40|128,2, MVT::v16i32,
   OPC_CheckChild2Type, MVT::v16i32,
   OPC_Scope, 47,
    OPC_CheckPatternPredicate, 103,
    OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v16i32, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                    MVT::v64i8, 2, 1, 2,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v128i8, 5, 3, 4, 5, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vasr_into),
                    MVT::v128i8, 3, 8, 0, 2,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i32, 2, 9, 10,
   47,
    OPC_CheckPatternPredicate, 104,
    OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v16i32, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                    MVT::v64i8, 2, 1, 2,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v128i8, 5, 3, 4, 5, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vasr_into),
                    MVT::v128i8, 3, 8, 0, 2,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i32, 2, 9, 10,
   38,
    OPC_CheckPatternPredicate, 39,
    OPC_EmitIntegerI32, 32,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v64i8, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubw),
                    MVT::v64i8, 2, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                    MVT::v64i8, 2, 0, 5,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                    MVT::v64i8, 2, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v16i32, 2, 6, 7,
   38,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitIntegerI32, 32,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v64i8, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubw),
                    MVT::v64i8, 2, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                    MVT::v64i8, 2, 0, 5,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                    MVT::v64i8, 2, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v16i32, 2, 6, 7,
   58,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v64i8, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqw),
                    MVT::v16i1, 2, 2, 3,
    OPC_EmitIntegerI32, 32,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v64i8, 1, 5,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubw),
                    MVT::v64i8, 2, 6, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslwv),
                    MVT::v64i8, 2, 0, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                    MVT::v64i8, 2, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v64i8, 2, 8, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                    MVT::v16i32, 3, 4, 1, 10,
   58,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v64i8, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqw),
                    MVT::v16i1, 2, 2, 3,
    OPC_EmitIntegerI32, 32,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v64i8, 1, 5,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubw),
                    MVT::v64i8, 2, 6, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslwv),
                    MVT::v64i8, 2, 0, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                    MVT::v64i8, 2, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v64i8, 2, 8, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                    MVT::v16i32, 3, 4, 1, 10,
   0,
  22|128,1, MVT::v32i32,
   OPC_CheckChild2Type, MVT::v32i32,
   OPC_Scope, 47,
    OPC_CheckPatternPredicate, 105,
    OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v32i32, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                    MVT::v128i8, 2, 1, 2,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v256i8, 5, 3, 4, 5, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vasr_into),
                    MVT::v256i8, 3, 8, 0, 2,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v32i32, 2, 9, 10,
   38,
    OPC_CheckPatternPredicate, 41,
    OPC_EmitIntegerI32, 32,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v128i8, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubw),
                    MVT::v128i8, 2, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                    MVT::v128i8, 2, 0, 5,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                    MVT::v128i8, 2, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v32i32, 2, 6, 7,
   58,
    OPC_CheckPatternPredicate, 37,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v128i8, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqw),
                    MVT::v32i1, 2, 2, 3,
    OPC_EmitIntegerI32, 32,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v128i8, 1, 5,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubw),
                    MVT::v128i8, 2, 6, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslwv),
                    MVT::v128i8, 2, 0, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                    MVT::v128i8, 2, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v128i8, 2, 8, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                    MVT::v32i32, 3, 4, 1, 10,
   0,
  72|128,1, MVT::v32i16,
   OPC_CheckChild2Type, MVT::v32i16,
   OPC_Scope, 38,
    OPC_CheckPatternPredicate, 39,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatih),
                    MVT::v64i8, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubh),
                    MVT::v64i8, 2, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                    MVT::v64i8, 2, 0, 5,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                    MVT::v64i8, 2, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v32i16, 2, 6, 7,
   38,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatih),
                    MVT::v64i8, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubh),
                    MVT::v64i8, 2, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                    MVT::v64i8, 2, 0, 5,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                    MVT::v64i8, 2, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v32i16, 2, 6, 7,
   58,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v64i8, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqh),
                    MVT::v16i1, 2, 2, 3,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatih),
                    MVT::v64i8, 1, 5,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubh),
                    MVT::v64i8, 2, 6, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslhv),
                    MVT::v64i8, 2, 0, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                    MVT::v64i8, 2, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v64i8, 2, 8, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                    MVT::v32i16, 3, 4, 1, 10,
   58,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v64i8, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqh),
                    MVT::v16i1, 2, 2, 3,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatih),
                    MVT::v64i8, 1, 5,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubh),
                    MVT::v64i8, 2, 6, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslhv),
                    MVT::v64i8, 2, 0, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                    MVT::v64i8, 2, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v64i8, 2, 8, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                    MVT::v32i16, 3, 4, 1, 10,
   0,
  102, MVT::v64i16,
   OPC_CheckChild2Type, MVT::v64i16,
   OPC_Scope, 38,
    OPC_CheckPatternPredicate, 41,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatih),
                    MVT::v128i8, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubh),
                    MVT::v128i8, 2, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                    MVT::v128i8, 2, 0, 5,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                    MVT::v128i8, 2, 1, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v64i16, 2, 6, 7,
   58,
    OPC_CheckPatternPredicate, 37,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v128i8, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqh),
                    MVT::v32i1, 2, 2, 3,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatih),
                    MVT::v128i8, 1, 5,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubh),
                    MVT::v128i8, 2, 6, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslhv),
                    MVT::v128i8, 2, 0, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                    MVT::v128i8, 2, 1, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v128i8, 2, 8, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                    MVT::v64i16, 3, 4, 1, 10,
   0,
  46|128,1, MVT::v64i8,
   OPC_CheckChild2Type, MVT::v64i8,
   OPC_Scope, 84,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vshufoeb),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v128i8, 1, 2,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                    MVT::v64i8, 2, 5, 8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vshufoeb),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 10, 11,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v128i8, 1, 2,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 13, 14,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                    MVT::v64i8, 2, 12, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                    MVT::v64i8, 2, 9, 16,
   84,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vshufoeb),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v128i8, 1, 2,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                    MVT::v64i8, 2, 5, 8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vshufoeb),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 10, 11,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v128i8, 1, 2,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 13, 14,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                    MVT::v64i8, 2, 12, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                    MVT::v64i8, 2, 9, 16,
   0,
  86, MVT::v128i8,
   OPC_CheckChild2Type, MVT::v128i8,
   OPC_CheckPatternPredicate4,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vshufoeb),
                   MVT::v256i8, 2, 0, 1,
   OPC_EmitIntegerI32, Hexagon::vsub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 3, 4,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                   MVT::v256i8, 1, 2,
   OPC_EmitIntegerI32, Hexagon::vsub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 6, 7,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                   MVT::v128i8, 2, 5, 8,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vshufoeb),
                   MVT::v256i8, 2, 0, 1,
   OPC_EmitIntegerI32, Hexagon::vsub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 10, 11,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                   MVT::v256i8, 1, 2,
   OPC_EmitIntegerI32, Hexagon::vsub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 13, 14,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                   MVT::v128i8, 2, 12, 15,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                   MVT::v128i8, 2, 9, 16,
  0,
 3|128,9, TARGET_VAL(HexagonISD::MFSHL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 124|128,2, MVT::v16i32,
   OPC_CheckChild2Type, MVT::v16i32,
   OPC_Scope, 74,
    OPC_CheckPatternPredicate, 103,
    OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v16i32, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitIntegerI32, 32,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v64i8, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubw),
                    MVT::v64i8, 2, 7, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                    MVT::v64i8, 2, 1, 8,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v128i8, 5, 3, 4, 5, 9, 10,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v64i8, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubw),
                    MVT::v64i8, 2, 12, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vasr_into),
                    MVT::v128i8, 3, 11, 0, 13,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i32, 2, 14, 15,
   74,
    OPC_CheckPatternPredicate, 104,
    OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v16i32, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitIntegerI32, 32,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v64i8, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubw),
                    MVT::v64i8, 2, 7, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                    MVT::v64i8, 2, 1, 8,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v128i8, 5, 3, 4, 5, 9, 10,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v64i8, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubw),
                    MVT::v64i8, 2, 12, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vasr_into),
                    MVT::v128i8, 3, 11, 0, 13,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i32, 2, 14, 15,
   38,
    OPC_CheckPatternPredicate, 39,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslwv),
                    MVT::v64i8, 2, 0, 2,
    OPC_EmitIntegerI32, 32,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v64i8, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubw),
                    MVT::v64i8, 2, 5, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                    MVT::v64i8, 2, 1, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v16i32, 2, 3, 7,
   38,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslwv),
                    MVT::v64i8, 2, 0, 2,
    OPC_EmitIntegerI32, 32,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v64i8, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubw),
                    MVT::v64i8, 2, 5, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                    MVT::v64i8, 2, 1, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v16i32, 2, 3, 7,
   73,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v64i8, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vand),
                    MVT::v64i8, 2, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v64i8, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqw),
                    MVT::v16i1, 2, 5, 6,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslwv),
                    MVT::v64i8, 2, 0, 2,
    OPC_EmitIntegerI32, 32,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v64i8, 1, 9,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubw),
                    MVT::v64i8, 2, 10, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                    MVT::v64i8, 2, 1, 11,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v64i8, 2, 8, 12,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                    MVT::v16i32, 3, 7, 0, 13,
   73,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v64i8, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vand),
                    MVT::v64i8, 2, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v64i8, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqw),
                    MVT::v16i1, 2, 5, 6,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslwv),
                    MVT::v64i8, 2, 0, 2,
    OPC_EmitIntegerI32, 32,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v64i8, 1, 9,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubw),
                    MVT::v64i8, 2, 10, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                    MVT::v64i8, 2, 1, 11,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v64i8, 2, 8, 12,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                    MVT::v16i32, 3, 7, 0, 13,
   0,
  64|128,1, MVT::v32i32,
   OPC_CheckChild2Type, MVT::v32i32,
   OPC_Scope, 74,
    OPC_CheckPatternPredicate, 105,
    OPC_EmitIntegerI32, Hexagon::HvxWRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v32i32, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitIntegerI32, 32,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v128i8, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubw),
                    MVT::v128i8, 2, 7, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                    MVT::v128i8, 2, 1, 8,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v256i8, 5, 3, 4, 5, 9, 10,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v128i8, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubw),
                    MVT::v128i8, 2, 12, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vasr_into),
                    MVT::v256i8, 3, 11, 0, 13,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v32i32, 2, 14, 15,
   38,
    OPC_CheckPatternPredicate, 41,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslwv),
                    MVT::v128i8, 2, 0, 2,
    OPC_EmitIntegerI32, 32,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v128i8, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubw),
                    MVT::v128i8, 2, 5, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                    MVT::v128i8, 2, 1, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v32i32, 2, 3, 7,
   73,
    OPC_CheckPatternPredicate, 37,
    OPC_EmitIntegerI32, 31,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v128i8, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vand),
                    MVT::v128i8, 2, 2, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v128i8, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqw),
                    MVT::v32i1, 2, 5, 6,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslwv),
                    MVT::v128i8, 2, 0, 2,
    OPC_EmitIntegerI32, 32,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatiw),
                    MVT::v128i8, 1, 9,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubw),
                    MVT::v128i8, 2, 10, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrwv),
                    MVT::v128i8, 2, 1, 11,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v128i8, 2, 8, 12,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                    MVT::v32i32, 3, 7, 0, 13,
   0,
  72|128,1, MVT::v32i16,
   OPC_CheckChild2Type, MVT::v32i16,
   OPC_Scope, 38,
    OPC_CheckPatternPredicate, 39,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslhv),
                    MVT::v64i8, 2, 0, 2,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatih),
                    MVT::v64i8, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubh),
                    MVT::v64i8, 2, 5, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                    MVT::v64i8, 2, 1, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v32i16, 2, 3, 7,
   38,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslhv),
                    MVT::v64i8, 2, 0, 2,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatih),
                    MVT::v64i8, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubh),
                    MVT::v64i8, 2, 5, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                    MVT::v64i8, 2, 1, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v32i16, 2, 3, 7,
   58,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v64i8, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqh),
                    MVT::v16i1, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslhv),
                    MVT::v64i8, 2, 0, 2,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatih),
                    MVT::v64i8, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubh),
                    MVT::v64i8, 2, 7, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                    MVT::v64i8, 2, 1, 8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v64i8, 2, 5, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                    MVT::v32i16, 3, 4, 0, 10,
   58,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v64i8, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqh),
                    MVT::v16i1, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslhv),
                    MVT::v64i8, 2, 0, 2,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatih),
                    MVT::v64i8, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubh),
                    MVT::v64i8, 2, 7, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                    MVT::v64i8, 2, 1, 8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v64i8, 2, 5, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                    MVT::v32i16, 3, 4, 0, 10,
   0,
  102, MVT::v64i16,
   OPC_CheckChild2Type, MVT::v64i16,
   OPC_Scope, 38,
    OPC_CheckPatternPredicate, 41,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslhv),
                    MVT::v128i8, 2, 0, 2,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatih),
                    MVT::v128i8, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubh),
                    MVT::v128i8, 2, 5, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                    MVT::v128i8, 2, 1, 6,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v64i16, 2, 3, 7,
   58,
    OPC_CheckPatternPredicate, 37,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v128i8, 0,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_veqh),
                    MVT::v32i1, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslhv),
                    MVT::v128i8, 2, 0, 2,
    OPC_EmitIntegerI32, 16,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::PS_vsplatih),
                    MVT::v128i8, 1, 6,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsubh),
                    MVT::v128i8, 2, 7, 2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrhv),
                    MVT::v128i8, 2, 1, 8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v128i8, 2, 5, 9,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                    MVT::v64i16, 3, 4, 0, 10,
   0,
  46|128,1, MVT::v64i8,
   OPC_CheckChild2Type, MVT::v64i8,
   OPC_Scope, 84,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vshufoeb),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v128i8, 1, 2,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslhv),
                    MVT::v64i8, 2, 5, 8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vshufoeb),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 10, 11,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v128i8, 1, 2,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 13, 14,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslhv),
                    MVT::v64i8, 2, 12, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffob),
                    MVT::v64i8, 2, 9, 16,
   84,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vshufoeb),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 3, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v128i8, 1, 2,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslhv),
                    MVT::v64i8, 2, 5, 8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vshufoeb),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 10, 11,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v128i8, 1, 2,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 13, 14,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslhv),
                    MVT::v64i8, 2, 12, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffob),
                    MVT::v64i8, 2, 9, 16,
   0,
  86, MVT::v128i8,
   OPC_CheckChild2Type, MVT::v128i8,
   OPC_CheckPatternPredicate4,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vshufoeb),
                   MVT::v256i8, 2, 0, 1,
   OPC_EmitIntegerI32, Hexagon::vsub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 3, 4,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                   MVT::v256i8, 1, 2,
   OPC_EmitIntegerI32, Hexagon::vsub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 6, 7,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslhv),
                   MVT::v128i8, 2, 5, 8,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vshufoeb),
                   MVT::v256i8, 2, 0, 1,
   OPC_EmitIntegerI32, Hexagon::vsub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 10, 11,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                   MVT::v256i8, 1, 2,
   OPC_EmitIntegerI32, Hexagon::vsub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 13, 14,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslhv),
                   MVT::v128i8, 2, 12, 15,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffob),
                   MVT::v128i8, 2, 9, 16,
  0,
 82|128,14, TARGET_VAL(ISD::VSELECT),
  OPC_Scope, 8|128,3,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 53,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_SwitchType , 13, MVT::v8i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, MVT::v8i8,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_vmux),
                     MVT::v8i8, 3, 0, 2, 1,
    13, MVT::v4i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, MVT::v4i16,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_vmux),
                     MVT::v4i16, 3, 0, 2, 1,
    13, MVT::v2i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, MVT::v2i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_vmux),
                     MVT::v2i32, 3, 0, 2, 1,
    0,
   53,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::PTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 13, MVT::v8i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, MVT::v8i8,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_vmux),
                     MVT::v8i8, 3, 0, 2, 1,
    13, MVT::v4i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, MVT::v4i16,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_vmux),
                     MVT::v4i16, 3, 0, 2, 1,
    13, MVT::v2i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, MVT::v2i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_vmux),
                     MVT::v2i32, 3, 0, 2, 1,
    0,
   9|128,1,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::QTRUE),
    OPC_MoveParent,
    OPC_SwitchType , 40, MVT::v64i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 22, MVT::v64i8,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                       MVT::v64i8, 3, 0, 2, 1,
      9,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                       MVT::v64i8, 3, 0, 2, 1,
      0,
     9, MVT::v64i16,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                      MVT::v64i16, 3, 0, 2, 1,
     0,
    14, MVT::v128i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, MVT::v128i8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                     MVT::v128i8, 3, 0, 2, 1,
    40, MVT::v32i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 22, MVT::v32i16,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                       MVT::v32i16, 3, 0, 2, 1,
      9,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                       MVT::v32i16, 3, 0, 2, 1,
      0,
     9, MVT::v32i32,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                      MVT::v32i32, 3, 0, 2, 1,
     0,
    27, MVT::v16i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, MVT::v16i32,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                      MVT::v16i32, 3, 0, 2, 1,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                      MVT::v16i32, 3, 0, 2, 1,
     0,
    0,
   9|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(HexagonISD::QTRUE),
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 40, MVT::v64i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 22, MVT::v64i8,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                       MVT::v64i8, 3, 0, 2, 1,
      9,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                       MVT::v64i8, 3, 0, 2, 1,
      0,
     9, MVT::v64i16,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                      MVT::v64i16, 3, 0, 2, 1,
     0,
    14, MVT::v128i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, MVT::v128i8,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                     MVT::v128i8, 3, 0, 2, 1,
    40, MVT::v32i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_SwitchType , 22, MVT::v32i16,
      OPC_Scope, 9,
       OPC_CheckPatternPredicate2,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                       MVT::v32i16, 3, 0, 2, 1,
      9,
       OPC_CheckPatternPredicate3,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                       MVT::v32i16, 3, 0, 2, 1,
      0,
     9, MVT::v32i32,
      OPC_CheckPatternPredicate4,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                      MVT::v32i32, 3, 0, 2, 1,
     0,
    27, MVT::v16i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, MVT::v16i32,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                      MVT::v16i32, 3, 0, 2, 1,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                      MVT::v16i32, 3, 0, 2, 1,
     0,
    0,
   0,
  106|128,1,
   OPC_RecordChild0,
   OPC_Scope, 33,
    OPC_CheckChild0Type, MVT::v8i1,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 8, MVT::v8i8,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_vmux),
                     MVT::v8i8, 3, 0, 1, 2,
    15, MVT::v8i1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_and),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                     MVT::v8i1, 3, 3, 2, 0,
    0,
   33,
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 8, MVT::v4i16,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_vmux),
                     MVT::v4i16, 3, 0, 1, 2,
    15, MVT::v4i1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_and),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                     MVT::v4i1, 3, 3, 2, 0,
    0,
   33,
    OPC_CheckChild0Type, MVT::v2i1,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 8, MVT::v2i32,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_vmux),
                     MVT::v2i32, 3, 0, 1, 2,
    15, MVT::v2i1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::C2_and),
                     MVT::i1, 2, 1, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C4_or_andn),
                     MVT::v2i1, 3, 3, 2, 0,
    0,
   41,
    OPC_CheckChild0Type, MVT::v64i1,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 22, MVT::v64i8,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                      MVT::v64i8, 3, 0, 1, 2,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                      MVT::v64i8, 3, 0, 1, 2,
     0,
    9, MVT::v64i16,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                     MVT::v64i16, 3, 0, 1, 2,
    0,
   15,
    OPC_CheckChild0Type, MVT::v128i1,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckType, MVT::v128i8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                    MVT::v128i8, 3, 0, 1, 2,
   41,
    OPC_CheckChild0Type, MVT::v32i1,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 22, MVT::v32i16,
     OPC_Scope, 9,
      OPC_CheckPatternPredicate2,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                      MVT::v32i16, 3, 0, 1, 2,
     9,
      OPC_CheckPatternPredicate3,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                      MVT::v32i16, 3, 0, 1, 2,
     0,
    9, MVT::v32i32,
     OPC_CheckPatternPredicate4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                     MVT::v32i32, 3, 0, 1, 2,
    0,
   28,
    OPC_CheckChild0Type, MVT::v16i1,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckType, MVT::v16i32,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate2,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                     MVT::v16i32, 3, 0, 1, 2,
    9,
     OPC_CheckPatternPredicate3,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                     MVT::v16i32, 3, 0, 1, 2,
    0,
   0,
  73|128,8,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 20|128,6, TARGET_VAL(ISD::SETCC),
    OPC_RecordChild0,
    OPC_SwitchType , 3|128,3, MVT::v32i1,
     OPC_Scope, 109|128,1,
      OPC_CheckChild0Type, MVT::v32f16,
      OPC_RecordChild1,
      OPC_Scope, 115,
       OPC_CheckChild2CondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_CheckType, MVT::v32f16,
       OPC_Scope, 26,
        OPC_CheckChild1Same, 1,
        OPC_CheckChild2Same, 0,
        OPC_Scope, 9,
         OPC_CheckPatternPredicate, 45,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_hf),
                         MVT::v32f16, 2, 0, 1,
        9,
         OPC_CheckPatternPredicate, 46,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_hf),
                         MVT::v32f16, 2, 0, 1,
        0,
       26,
        OPC_CheckChild1Same, 0,
        OPC_CheckChild2Same, 1,
        OPC_Scope, 9,
         OPC_CheckPatternPredicate, 45,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_hf),
                         MVT::v32f16, 2, 0, 1,
        9,
         OPC_CheckPatternPredicate, 46,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_hf),
                         MVT::v32f16, 2, 0, 1,
        0,
       26,
        OPC_CheckChild1Same, 1,
        OPC_CheckChild2Same, 0,
        OPC_Scope, 9,
         OPC_CheckPatternPredicate, 47,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_hf),
                         MVT::v32f16, 2, 0, 1,
        9,
         OPC_CheckPatternPredicate, 48,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_hf),
                         MVT::v32f16, 2, 0, 1,
        0,
       26,
        OPC_CheckChild1Same, 0,
        OPC_CheckChild2Same, 1,
        OPC_Scope, 9,
         OPC_CheckPatternPredicate, 47,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_hf),
                         MVT::v32f16, 2, 0, 1,
        9,
         OPC_CheckPatternPredicate, 48,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_hf),
                         MVT::v32f16, 2, 0, 1,
        0,
       0,
      115,
       OPC_CheckChild2CondCode, ISD::SETOGT,
       OPC_MoveParent,
       OPC_CheckType, MVT::v32f16,
       OPC_Scope, 26,
        OPC_CheckChild1Same, 1,
        OPC_CheckChild2Same, 0,
        OPC_Scope, 9,
         OPC_CheckPatternPredicate, 45,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_hf),
                         MVT::v32f16, 2, 0, 1,
        9,
         OPC_CheckPatternPredicate, 46,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_hf),
                         MVT::v32f16, 2, 0, 1,
        0,
       26,
        OPC_CheckChild1Same, 0,
        OPC_CheckChild2Same, 1,
        OPC_Scope, 9,
         OPC_CheckPatternPredicate, 45,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_hf),
                         MVT::v32f16, 2, 0, 1,
        9,
         OPC_CheckPatternPredicate, 46,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_hf),
                         MVT::v32f16, 2, 0, 1,
        0,
       26,
        OPC_CheckChild1Same, 1,
        OPC_CheckChild2Same, 0,
        OPC_Scope, 9,
         OPC_CheckPatternPredicate, 47,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_hf),
                         MVT::v32f16, 2, 0, 1,
        9,
         OPC_CheckPatternPredicate, 48,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_hf),
                         MVT::v32f16, 2, 0, 1,
        0,
       26,
        OPC_CheckChild1Same, 0,
        OPC_CheckChild2Same, 1,
        OPC_Scope, 9,
         OPC_CheckPatternPredicate, 47,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_hf),
                         MVT::v32f16, 2, 0, 1,
        9,
         OPC_CheckPatternPredicate, 48,
         OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_hf),
                         MVT::v32f16, 2, 0, 1,
        0,
       0,
      0,
     16|128,1,
      OPC_CheckChild0Type, 14|128,1,
      OPC_RecordChild1,
      OPC_Scope, 68,
       OPC_CheckChild2CondCode, ISD::SETGT,
       OPC_MoveParent,
       OPC_CheckType, 14|128,1,
       OPC_Scope, 14,
        OPC_CheckChild1Same, 1,
        OPC_CheckChild2Same, 0,
        OPC_CheckPatternPredicate, 20,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_sf),
                        14|128,1, 2, 0, 1,
       14,
        OPC_CheckChild1Same, 0,
        OPC_CheckChild2Same, 1,
        OPC_CheckPatternPredicate, 20,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_sf),
                        14|128,1, 2, 0, 1,
       14,
        OPC_CheckChild1Same, 1,
        OPC_CheckChild2Same, 0,
        OPC_CheckPatternPredicate, 49,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_sf),
                        14|128,1, 2, 0, 1,
       14,
        OPC_CheckChild1Same, 0,
        OPC_CheckChild2Same, 1,
        OPC_CheckPatternPredicate, 49,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_sf),
                        14|128,1, 2, 0, 1,
       0,
      68,
       OPC_CheckChild2CondCode, ISD::SETOGT,
       OPC_MoveParent,
       OPC_CheckType, 14|128,1,
       OPC_Scope, 14,
        OPC_CheckChild1Same, 1,
        OPC_CheckChild2Same, 0,
        OPC_CheckPatternPredicate, 20,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_sf),
                        14|128,1, 2, 0, 1,
       14,
        OPC_CheckChild1Same, 0,
        OPC_CheckChild2Same, 1,
        OPC_CheckPatternPredicate, 20,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_sf),
                        14|128,1, 2, 0, 1,
       14,
        OPC_CheckChild1Same, 1,
        OPC_CheckChild2Same, 0,
        OPC_CheckPatternPredicate, 49,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_sf),
                        14|128,1, 2, 0, 1,
       14,
        OPC_CheckChild1Same, 0,
        OPC_CheckChild2Same, 1,
        OPC_CheckPatternPredicate, 49,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_sf),
                        14|128,1, 2, 0, 1,
       0,
      0,
     0,
    5|128,1, MVT::v64i1,
     OPC_CheckChild0Type, MVT::v64f16,
     OPC_RecordChild1,
     OPC_Scope, 63,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64f16,
      OPC_Scope, 13,
       OPC_CheckChild1Same, 1,
       OPC_CheckChild2Same, 0,
       OPC_CheckPatternPredicate, 20,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_hf),
                       MVT::v64f16, 2, 0, 1,
      13,
       OPC_CheckChild1Same, 0,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate, 20,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_hf),
                       MVT::v64f16, 2, 0, 1,
      13,
       OPC_CheckChild1Same, 1,
       OPC_CheckChild2Same, 0,
       OPC_CheckPatternPredicate, 49,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_hf),
                       MVT::v64f16, 2, 0, 1,
      13,
       OPC_CheckChild1Same, 0,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate, 49,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_hf),
                       MVT::v64f16, 2, 0, 1,
      0,
     63,
      OPC_CheckChild2CondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_CheckType, MVT::v64f16,
      OPC_Scope, 13,
       OPC_CheckChild1Same, 1,
       OPC_CheckChild2Same, 0,
       OPC_CheckPatternPredicate, 20,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_hf),
                       MVT::v64f16, 2, 0, 1,
      13,
       OPC_CheckChild1Same, 0,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate, 20,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_hf),
                       MVT::v64f16, 2, 0, 1,
      13,
       OPC_CheckChild1Same, 1,
       OPC_CheckChild2Same, 0,
       OPC_CheckPatternPredicate, 49,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_hf),
                       MVT::v64f16, 2, 0, 1,
      13,
       OPC_CheckChild1Same, 0,
       OPC_CheckChild2Same, 1,
       OPC_CheckPatternPredicate, 49,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_hf),
                       MVT::v64f16, 2, 0, 1,
      0,
     0,
    0|128,2, MVT::v16i1,
     OPC_CheckChild0Type, 13|128,1,
     OPC_RecordChild1,
     OPC_Scope, 124,
      OPC_CheckChild2CondCode, ISD::SETGT,
      OPC_MoveParent,
      OPC_CheckType, 13|128,1,
      OPC_Scope, 28,
       OPC_CheckChild1Same, 1,
       OPC_CheckChild2Same, 0,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 45,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_sf),
                        13|128,1, 2, 0, 1,
       10,
        OPC_CheckPatternPredicate, 46,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_sf),
                        13|128,1, 2, 0, 1,
       0,
      28,
       OPC_CheckChild1Same, 0,
       OPC_CheckChild2Same, 1,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 45,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_sf),
                        13|128,1, 2, 0, 1,
       10,
        OPC_CheckPatternPredicate, 46,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_sf),
                        13|128,1, 2, 0, 1,
       0,
      28,
       OPC_CheckChild1Same, 1,
       OPC_CheckChild2Same, 0,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 47,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_sf),
                        13|128,1, 2, 0, 1,
       10,
        OPC_CheckPatternPredicate, 48,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_sf),
                        13|128,1, 2, 0, 1,
       0,
      28,
       OPC_CheckChild1Same, 0,
       OPC_CheckChild2Same, 1,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 47,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_sf),
                        13|128,1, 2, 0, 1,
       10,
        OPC_CheckPatternPredicate, 48,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_sf),
                        13|128,1, 2, 0, 1,
       0,
      0,
     124,
      OPC_CheckChild2CondCode, ISD::SETOGT,
      OPC_MoveParent,
      OPC_CheckType, 13|128,1,
      OPC_Scope, 28,
       OPC_CheckChild1Same, 1,
       OPC_CheckChild2Same, 0,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 45,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_sf),
                        13|128,1, 2, 0, 1,
       10,
        OPC_CheckPatternPredicate, 46,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmin_sf),
                        13|128,1, 2, 0, 1,
       0,
      28,
       OPC_CheckChild1Same, 0,
       OPC_CheckChild2Same, 1,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 45,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_sf),
                        13|128,1, 2, 0, 1,
       10,
        OPC_CheckPatternPredicate, 46,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmax_sf),
                        13|128,1, 2, 0, 1,
       0,
      28,
       OPC_CheckChild1Same, 1,
       OPC_CheckChild2Same, 0,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 47,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_sf),
                        13|128,1, 2, 0, 1,
       10,
        OPC_CheckPatternPredicate, 48,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmin_sf),
                        13|128,1, 2, 0, 1,
       0,
      28,
       OPC_CheckChild1Same, 0,
       OPC_CheckChild2Same, 1,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 47,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_sf),
                        13|128,1, 2, 0, 1,
       10,
        OPC_CheckPatternPredicate, 48,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vfmax_sf),
                        13|128,1, 2, 0, 1,
       0,
      0,
     0,
    0,
   42|128,2, TARGET_VAL(ISD::XOR),
    OPC_Scope, 18|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::QTRUE),
     OPC_MoveParent,
     OPC_SwitchType , 71, MVT::v32i1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 24, MVT::v32f16,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                        MVT::v32f16, 3, 0, 2, 1,
       10,
        OPC_CheckPatternPredicate, 12,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                        MVT::v32f16, 3, 0, 2, 1,
       0,
      11, 14|128,1,
       OPC_CheckPatternPredicate, 13,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                       14|128,1, 3, 0, 2, 1,
      24, MVT::v32bf16,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 97,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                        MVT::v32bf16, 3, 0, 2, 1,
       10,
        OPC_CheckPatternPredicate, 98,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                        MVT::v32bf16, 3, 0, 2, 1,
       0,
      0,
     29, MVT::v64i1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 10, MVT::v64f16,
       OPC_CheckPatternPredicate, 13,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                       MVT::v64f16, 3, 0, 2, 1,
      10, MVT::v64bf16,
       OPC_CheckPatternPredicate, 99,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                       MVT::v64bf16, 3, 0, 2, 1,
      0,
     32, MVT::v16i1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, 13|128,1,
      OPC_Scope, 11,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                       13|128,1, 3, 0, 2, 1,
      11,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                       13|128,1, 3, 0, 2, 1,
      0,
     0,
    18|128,1,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(HexagonISD::QTRUE),
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 71, MVT::v32i1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 24, MVT::v32f16,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 11,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                        MVT::v32f16, 3, 0, 2, 1,
       10,
        OPC_CheckPatternPredicate, 12,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                        MVT::v32f16, 3, 0, 2, 1,
       0,
      11, 14|128,1,
       OPC_CheckPatternPredicate, 13,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                       14|128,1, 3, 0, 2, 1,
      24, MVT::v32bf16,
       OPC_Scope, 10,
        OPC_CheckPatternPredicate, 97,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                        MVT::v32bf16, 3, 0, 2, 1,
       10,
        OPC_CheckPatternPredicate, 98,
        OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                        MVT::v32bf16, 3, 0, 2, 1,
       0,
      0,
     29, MVT::v64i1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_SwitchType , 10, MVT::v64f16,
       OPC_CheckPatternPredicate, 13,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                       MVT::v64f16, 3, 0, 2, 1,
      10, MVT::v64bf16,
       OPC_CheckPatternPredicate, 99,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                       MVT::v64bf16, 3, 0, 2, 1,
      0,
     32, MVT::v16i1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckType, 13|128,1,
      OPC_Scope, 11,
       OPC_CheckPatternPredicate, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                       13|128,1, 3, 0, 2, 1,
      11,
       OPC_CheckPatternPredicate, 12,
       OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                       13|128,1, 3, 0, 2, 1,
      0,
     0,
    0,
   0,
  13|128,1,
   OPC_RecordChild0,
   OPC_Scope, 72,
    OPC_CheckChild0Type, MVT::v32i1,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 24, MVT::v32f16,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 11,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                      MVT::v32f16, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 12,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                      MVT::v32f16, 3, 0, 1, 2,
     0,
    11, 14|128,1,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                     14|128,1, 3, 0, 1, 2,
    24, MVT::v32bf16,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 97,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                      MVT::v32bf16, 3, 0, 1, 2,
     10,
      OPC_CheckPatternPredicate, 98,
      OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                      MVT::v32bf16, 3, 0, 1, 2,
     0,
    0,
   30,
    OPC_CheckChild0Type, MVT::v64i1,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 10, MVT::v64f16,
     OPC_CheckPatternPredicate, 13,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                     MVT::v64f16, 3, 0, 1, 2,
    10, MVT::v64bf16,
     OPC_CheckPatternPredicate, 99,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                     MVT::v64bf16, 3, 0, 1, 2,
    0,
   33,
    OPC_CheckChild0Type, MVT::v16i1,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckType, 13|128,1,
    OPC_Scope, 11,
     OPC_CheckPatternPredicate, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                     13|128,1, 3, 0, 1, 2,
    11,
     OPC_CheckPatternPredicate, 12,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vmux),
                     13|128,1, 3, 0, 1, 2,
    0,
   0,
  0,
 119|128,2, TARGET_VAL(HexagonISD::VASL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 76,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 13,
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_vw),
                    MVT::v2i32, 2, 0, 2,
   55,
    OPC_CheckPredicate, 41,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::v4i16,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_i_vh),
                     MVT::v4i16, 2, 0, 2,
    38, MVT::v2i16,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i32, 0,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 2, 3, 4, 0, 5,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_asl_i_vh),
                     MVT::i64, 2, 6, 7,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i16, 2, 8, 9,
    0,
   0,
  9,
   OPC_CheckType, MVT::v2i32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_vw),
                   MVT::v2i32, 2, 0, 1,
  9,
   OPC_CheckType, MVT::v4i16,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asl_r_vh),
                   MVT::v4i16, 2, 0, 1,
  22,
   OPC_CheckType, MVT::v32i16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslh),
                    MVT::v32i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslh),
                    MVT::v32i16, 2, 0, 1,
   0,
  10,
   OPC_CheckType, MVT::v64i16,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslh),
                   MVT::v64i16, 2, 0, 1,
  22,
   OPC_CheckType, MVT::v16i32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslw),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslw),
                    MVT::v16i32, 2, 0, 1,
   0,
  10,
   OPC_CheckType, MVT::v32i32,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaslw),
                   MVT::v32i32, 2, 0, 1,
  39,
   OPC_CheckType, MVT::v2i16,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i32, 0,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::i64, 5, 2, 3, 4, 0, 5,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_asl_i_vh),
                   MVT::i64, 2, 6, 1,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v2i16, 2, 7, 8,
  110,
   OPC_CheckType, MVT::v64i8,
   OPC_Scope, 52,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v128i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslh),
                    MVT::v64i8, 2, 4, 1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v128i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslh),
                    MVT::v64i8, 2, 8, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                    MVT::v64i8, 2, 5, 9,
   52,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v128i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslh),
                    MVT::v64i8, 2, 4, 1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v128i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslh),
                    MVT::v64i8, 2, 8, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                    MVT::v64i8, 2, 5, 9,
   0,
  54,
   OPC_CheckType, MVT::v128i8,
   OPC_CheckPatternPredicate4,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                   MVT::v256i8, 1, 0,
   OPC_EmitIntegerI32, Hexagon::vsub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 2, 3,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslh),
                   MVT::v128i8, 2, 4, 1,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                   MVT::v256i8, 1, 0,
   OPC_EmitIntegerI32, Hexagon::vsub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 6, 7,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vaslh),
                   MVT::v128i8, 2, 8, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                   MVT::v128i8, 2, 5, 9,
  0,
 119|128,2, TARGET_VAL(HexagonISD::VASR),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 76,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 13,
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_vw),
                    MVT::v2i32, 2, 0, 2,
   55,
    OPC_CheckPredicate, 41,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::v4i16,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_i_vh),
                     MVT::v4i16, 2, 0, 2,
    38, MVT::v2i16,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i32, 0,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 2, 3, 4, 0, 5,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_asr_i_vh),
                     MVT::i64, 2, 6, 7,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i16, 2, 8, 9,
    0,
   0,
  9,
   OPC_CheckType, MVT::v2i32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_vw),
                   MVT::v2i32, 2, 0, 1,
  9,
   OPC_CheckType, MVT::v4i16,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_asr_r_vh),
                   MVT::v4i16, 2, 0, 1,
  22,
   OPC_CheckType, MVT::v32i16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrh),
                    MVT::v32i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrh),
                    MVT::v32i16, 2, 0, 1,
   0,
  10,
   OPC_CheckType, MVT::v64i16,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrh),
                   MVT::v64i16, 2, 0, 1,
  22,
   OPC_CheckType, MVT::v16i32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw),
                    MVT::v16i32, 2, 0, 1,
   0,
  10,
   OPC_CheckType, MVT::v32i32,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vasrw),
                   MVT::v32i32, 2, 0, 1,
  39,
   OPC_CheckType, MVT::v2i16,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i32, 0,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::i64, 5, 2, 3, 4, 0, 5,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_asr_i_vh),
                   MVT::i64, 2, 6, 1,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v2i16, 2, 7, 8,
  110,
   OPC_CheckType, MVT::v64i8,
   OPC_Scope, 52,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsb),
                    MVT::v128i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vasrh),
                    MVT::v64i8, 2, 4, 1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsb),
                    MVT::v128i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vasrh),
                    MVT::v64i8, 2, 8, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                    MVT::v64i8, 2, 5, 9,
   52,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsb),
                    MVT::v128i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vasrh),
                    MVT::v64i8, 2, 4, 1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsb),
                    MVT::v128i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vasrh),
                    MVT::v64i8, 2, 8, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                    MVT::v64i8, 2, 5, 9,
   0,
  54,
   OPC_CheckType, MVT::v128i8,
   OPC_CheckPatternPredicate4,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsb),
                   MVT::v256i8, 1, 0,
   OPC_EmitIntegerI32, Hexagon::vsub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 2, 3,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vasrh),
                   MVT::v128i8, 2, 4, 1,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vsb),
                   MVT::v256i8, 1, 0,
   OPC_EmitIntegerI32, Hexagon::vsub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 6, 7,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vasrh),
                   MVT::v128i8, 2, 8, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                   MVT::v128i8, 2, 5, 9,
  0,
 119|128,2, TARGET_VAL(HexagonISD::VLSR),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 76,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 13,
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_vw),
                    MVT::v2i32, 2, 0, 2,
   55,
    OPC_CheckPredicate, 41,
    OPC_MoveParent,
    OPC_SwitchType , 8, MVT::v4i16,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_i_vh),
                     MVT::v4i16, 2, 0, 2,
    38, MVT::v2i16,
     OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::i32, 0,
     OPC_EmitIntegerI32, Hexagon::isub_hi,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                     MVT::i64, 5, 2, 3, 4, 0, 5,
     OPC_EmitConvertToTarget1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_lsr_i_vh),
                     MVT::i64, 2, 6, 7,
     OPC_EmitIntegerI32, Hexagon::isub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i16, 2, 8, 9,
    0,
   0,
  9,
   OPC_CheckType, MVT::v2i32,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_vw),
                   MVT::v2i32, 2, 0, 1,
  9,
   OPC_CheckType, MVT::v4i16,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::S2_lsr_r_vh),
                   MVT::v4i16, 2, 0, 1,
  22,
   OPC_CheckType, MVT::v32i16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrh),
                    MVT::v32i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrh),
                    MVT::v32i16, 2, 0, 1,
   0,
  10,
   OPC_CheckType, MVT::v64i16,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrh),
                   MVT::v64i16, 2, 0, 1,
  22,
   OPC_CheckType, MVT::v16i32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrw),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrw),
                    MVT::v16i32, 2, 0, 1,
   0,
  10,
   OPC_CheckType, MVT::v32i32,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vlsrw),
                   MVT::v32i32, 2, 0, 1,
  39,
   OPC_CheckType, MVT::v2i16,
   OPC_EmitIntegerI32, Hexagon::DoubleRegsRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::i32, 0,
   OPC_EmitIntegerI32, Hexagon::isub_hi,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::i64, 5, 2, 3, 4, 0, 5,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::S2_lsr_i_vh),
                   MVT::i64, 2, 6, 1,
   OPC_EmitIntegerI32, Hexagon::isub_lo,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v2i16, 2, 7, 8,
  110,
   OPC_CheckType, MVT::v64i8,
   OPC_Scope, 52,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v128i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrh),
                    MVT::v64i8, 2, 4, 1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v128i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrh),
                    MVT::v64i8, 2, 8, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                    MVT::v64i8, 2, 5, 9,
   52,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v128i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_hi,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 2, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrh),
                    MVT::v64i8, 2, 4, 1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                    MVT::v128i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 6, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrh),
                    MVT::v64i8, 2, 8, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                    MVT::v64i8, 2, 5, 9,
   0,
  54,
   OPC_CheckType, MVT::v128i8,
   OPC_CheckPatternPredicate4,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                   MVT::v256i8, 1, 0,
   OPC_EmitIntegerI32, Hexagon::vsub_hi,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 2, 3,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrh),
                   MVT::v128i8, 2, 4, 1,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vzb),
                   MVT::v256i8, 1, 0,
   OPC_EmitIntegerI32, Hexagon::vsub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 6, 7,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vlsrh),
                   MVT::v128i8, 2, 8, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vshuffeb),
                   MVT::v128i8, 2, 5, 9,
  0,
 82|128,1, TARGET_VAL(HexagonISD::VINSERTW0),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 20, MVT::v64i8,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vinsertwr),
                    MVT::v64i8, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vinsertwr),
                    MVT::v64i8, 2, 0, 1,
   0,
  8, MVT::v128i8,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vinsertwr),
                   MVT::v128i8, 2, 0, 1,
  20, MVT::v32i16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vinsertwr),
                    MVT::v32i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vinsertwr),
                    MVT::v32i16, 2, 0, 1,
   0,
  8, MVT::v64i16,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vinsertwr),
                   MVT::v64i16, 2, 0, 1,
  20, MVT::v16i32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vinsertwr),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vinsertwr),
                    MVT::v16i32, 2, 0, 1,
   0,
  8, MVT::v32i32,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vinsertwr),
                   MVT::v32i32, 2, 0, 1,
  22, MVT::v32f16,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vinsertwr),
                    MVT::v32f16, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vinsertwr),
                    MVT::v32f16, 2, 0, 1,
   0,
  9, MVT::v64f16,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vinsertwr),
                   MVT::v64f16, 2, 0, 1,
  22, MVT::v32bf16,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vinsertwr),
                    MVT::v32bf16, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vinsertwr),
                    MVT::v32bf16, 2, 0, 1,
   0,
  9, MVT::v64bf16,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vinsertwr),
                   MVT::v64bf16, 2, 0, 1,
  24, 13|128,1,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 14,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vinsertwr),
                    13|128,1, 2, 0, 1,
   10,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vinsertwr),
                    13|128,1, 2, 0, 1,
   0,
  10, 14|128,1,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vinsertwr),
                   14|128,1, 2, 0, 1,
  0,
 65|128,1, TARGET_VAL(ISD::UADDSAT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 20, MVT::v64i8,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddubsat),
                    MVT::v64i8, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddubsat),
                    MVT::v64i8, 2, 0, 1,
   0,
  29, MVT::v128i8,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddubsat),
                    MVT::v128i8, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddubsat_dv),
                    MVT::v128i8, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddubsat_dv),
                    MVT::v128i8, 2, 0, 1,
   0,
  20, MVT::v32i16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduhsat),
                    MVT::v32i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduhsat),
                    MVT::v32i16, 2, 0, 1,
   0,
  29, MVT::v64i16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduhsat),
                    MVT::v64i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduhsat_dv),
                    MVT::v64i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduhsat_dv),
                    MVT::v64i16, 2, 0, 1,
   0,
  20, MVT::v16i32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduwsat),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduwsat),
                    MVT::v16i32, 2, 0, 1,
   0,
  29, MVT::v32i32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduwsat),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduwsat_dv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduwsat_dv),
                    MVT::v32i32, 2, 0, 1,
   0,
  8, MVT::v256i8,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vaddubsat_dv),
                   MVT::v256i8, 2, 0, 1,
  8, MVT::v128i16,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduhsat_dv),
                   MVT::v128i16, 2, 0, 1,
  8, MVT::v64i32,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vadduwsat_dv),
                   MVT::v64i32, 2, 0, 1,
  0,
 65|128,1, TARGET_VAL(ISD::USUBSAT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 20, MVT::v64i8,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsububsat),
                    MVT::v64i8, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsububsat),
                    MVT::v64i8, 2, 0, 1,
   0,
  29, MVT::v128i8,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsububsat),
                    MVT::v128i8, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsububsat_dv),
                    MVT::v128i8, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsububsat_dv),
                    MVT::v128i8, 2, 0, 1,
   0,
  20, MVT::v32i16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuhsat),
                    MVT::v32i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuhsat),
                    MVT::v32i16, 2, 0, 1,
   0,
  29, MVT::v64i16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuhsat),
                    MVT::v64i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuhsat_dv),
                    MVT::v64i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuhsat_dv),
                    MVT::v64i16, 2, 0, 1,
   0,
  20, MVT::v16i32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuwsat),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuwsat),
                    MVT::v16i32, 2, 0, 1,
   0,
  29, MVT::v32i32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuwsat),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuwsat_dv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuwsat_dv),
                    MVT::v32i32, 2, 0, 1,
   0,
  8, MVT::v256i8,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsububsat_dv),
                   MVT::v256i8, 2, 0, 1,
  8, MVT::v128i16,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuhsat_dv),
                   MVT::v128i16, 2, 0, 1,
  8, MVT::v64i32,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubuwsat_dv),
                   MVT::v64i32, 2, 0, 1,
  0,
 65|128,1, TARGET_VAL(ISD::SSUBSAT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 20, MVT::v64i8,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubbsat),
                    MVT::v64i8, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubbsat),
                    MVT::v64i8, 2, 0, 1,
   0,
  29, MVT::v128i8,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubbsat),
                    MVT::v128i8, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubbsat_dv),
                    MVT::v128i8, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubbsat_dv),
                    MVT::v128i8, 2, 0, 1,
   0,
  20, MVT::v32i16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubhsat),
                    MVT::v32i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubhsat),
                    MVT::v32i16, 2, 0, 1,
   0,
  29, MVT::v64i16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubhsat),
                    MVT::v64i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubhsat_dv),
                    MVT::v64i16, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubhsat_dv),
                    MVT::v64i16, 2, 0, 1,
   0,
  20, MVT::v16i32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubwsat),
                    MVT::v16i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubwsat),
                    MVT::v16i32, 2, 0, 1,
   0,
  29, MVT::v32i32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubwsat),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubwsat_dv),
                    MVT::v32i32, 2, 0, 1,
   8,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubwsat_dv),
                    MVT::v32i32, 2, 0, 1,
   0,
  8, MVT::v256i8,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubbsat_dv),
                   MVT::v256i8, 2, 0, 1,
  8, MVT::v128i16,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubhsat_dv),
                   MVT::v128i16, 2, 0, 1,
  8, MVT::v64i32,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vsubwsat_dv),
                   MVT::v64i32, 2, 0, 1,
  0,
 78, TARGET_VAL(HexagonISD::QTRUE),
  OPC_SwitchType , 23, MVT::v64i1,
   OPC_Scope, 6,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_qtrue),
                    MVT::v64i1, 0,
   6,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_qtrue),
                    MVT::v64i1, 0,
   6,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_qtrue),
                    MVT::v64i1, 0,
   0,
  6, MVT::v128i1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_qtrue),
                   MVT::v128i1, 0,
  23, MVT::v32i1,
   OPC_Scope, 6,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_qtrue),
                    MVT::v32i1, 0,
   6,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_qtrue),
                    MVT::v32i1, 0,
   6,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_qtrue),
                    MVT::v32i1, 0,
   0,
  16, MVT::v16i1,
   OPC_Scope, 6,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_qtrue),
                    MVT::v16i1, 0,
   6,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_qtrue),
                    MVT::v16i1, 0,
   0,
  0,
 78, TARGET_VAL(HexagonISD::QFALSE),
  OPC_SwitchType , 23, MVT::v64i1,
   OPC_Scope, 6,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_qfalse),
                    MVT::v64i1, 0,
   6,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_qfalse),
                    MVT::v64i1, 0,
   6,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_qfalse),
                    MVT::v64i1, 0,
   0,
  6, MVT::v128i1,
   OPC_CheckPatternPredicate4,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_qfalse),
                   MVT::v128i1, 0,
  23, MVT::v32i1,
   OPC_Scope, 6,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_qfalse),
                    MVT::v32i1, 0,
   6,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_qfalse),
                    MVT::v32i1, 0,
   6,
    OPC_CheckPatternPredicate4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_qfalse),
                    MVT::v32i1, 0,
   0,
  16, MVT::v16i1,
   OPC_Scope, 6,
    OPC_CheckPatternPredicate2,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_qfalse),
                    MVT::v16i1, 0,
   6,
    OPC_CheckPatternPredicate3,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::PS_qfalse),
                    MVT::v16i1, 0,
   0,
  0,
 50, TARGET_VAL(HexagonISD::PFALSE),
  OPC_SwitchType , 14, MVT::v8i1,
   OPC_EmitIntegerI32, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                   MVT::i32, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::v8i1, 1, 1,
  14, MVT::v4i1,
   OPC_EmitIntegerI32, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                   MVT::i32, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::v4i1, 1, 1,
  14, MVT::v2i1,
   OPC_EmitIntegerI32, 0,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                   MVT::i32, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::v2i1, 1, 1,
  0,
 50, TARGET_VAL(HexagonISD::PTRUE),
  OPC_SwitchType , 14, MVT::v8i1,
   OPC_EmitIntegerI32, 127,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                   MVT::i32, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::v8i1, 1, 1,
  14, MVT::v4i1,
   OPC_EmitIntegerI32, 127,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                   MVT::i32, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::v4i1, 1, 1,
  14, MVT::v2i1,
   OPC_EmitIntegerI32, 127,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                   MVT::i32, 1, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::C2_tfrrp),
                   MVT::v2i1, 1, 1,
  0,
 67|128,3, TARGET_VAL(ISD::SIGN_EXTEND_VECTOR_INREG),
  OPC_RecordChild0,
  OPC_Scope, 110,
   OPC_CheckChild0Type, MVT::v64i8,
   OPC_SwitchType , 36, MVT::v32i16,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackb),
                     MVT::v128i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v32i16, 2, 1, 2,
    16,
     OPC_CheckPatternPredicate3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackb),
                     MVT::v128i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v32i16, 2, 1, 2,
    0,
   66, MVT::v16i32,
    OPC_Scope, 31,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackb),
                     MVT::v128i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 1, 2,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackh),
                     MVT::v128i8, 1, 3,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i32, 2, 4, 5,
    31,
     OPC_CheckPatternPredicate3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackb),
                     MVT::v128i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 1, 2,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackh),
                     MVT::v128i8, 1, 3,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i32, 2, 4, 5,
    0,
   0,
  31|128,1,
   OPC_CheckChild0Type, MVT::v128i8,
   OPC_SwitchType , 53, MVT::v64i16,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackb),
                     MVT::v256i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i16, 2, 1, 2,
    16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackb),
                     MVT::v64i16, 1, 2,
    16,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackb),
                     MVT::v64i16, 1, 2,
    0,
   98, MVT::v32i32,
    OPC_Scope, 31,
     OPC_CheckPatternPredicate4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackb),
                     MVT::v256i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 1, 2,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackh),
                     MVT::v256i8, 1, 3,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v32i32, 2, 4, 5,
    31,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackb),
                     MVT::v128i8, 1, 2,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 3, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackh),
                     MVT::v32i32, 1, 5,
    31,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackb),
                     MVT::v128i8, 1, 2,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 3, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackh),
                     MVT::v32i32, 1, 5,
    0,
   0,
  40,
   OPC_CheckChild0Type, MVT::v32i16,
   OPC_CheckType, MVT::v16i32,
   OPC_Scope, 16,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackh),
                    MVT::v128i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i32, 2, 1, 2,
   16,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackh),
                    MVT::v128i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i32, 2, 1, 2,
   0,
  57,
   OPC_CheckChild0Type, MVT::v64i16,
   OPC_CheckType, MVT::v32i32,
   OPC_Scope, 16,
    OPC_CheckPatternPredicate4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackh),
                    MVT::v256i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v32i32, 2, 1, 2,
   16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackh),
                    MVT::v32i32, 1, 2,
   16,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackh),
                    MVT::v32i32, 1, 2,
   0,
  55,
   OPC_CheckChild0Type, MVT::v256i8,
   OPC_SwitchType , 16, MVT::v128i16,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackb),
                    MVT::v128i16, 1, 2,
   31, MVT::v64i32,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackb),
                    MVT::v256i8, 1, 2,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 3, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackh),
                    MVT::v64i32, 1, 5,
   0,
  20,
   OPC_CheckChild0Type, MVT::v128i16,
   OPC_CheckType, MVT::v64i32,
   OPC_CheckPatternPredicate4,
   OPC_EmitIntegerI32, Hexagon::vsub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackh),
                   MVT::v64i32, 1, 2,
  0,
 67|128,3, TARGET_VAL(ISD::ZERO_EXTEND_VECTOR_INREG),
  OPC_RecordChild0,
  OPC_Scope, 110,
   OPC_CheckChild0Type, MVT::v64i8,
   OPC_SwitchType , 36, MVT::v32i16,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackub),
                     MVT::v128i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v32i16, 2, 1, 2,
    16,
     OPC_CheckPatternPredicate3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackub),
                     MVT::v128i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v32i16, 2, 1, 2,
    0,
   66, MVT::v16i32,
    OPC_Scope, 31,
     OPC_CheckPatternPredicate2,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackub),
                     MVT::v128i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 1, 2,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackuh),
                     MVT::v128i8, 1, 3,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i32, 2, 4, 5,
    31,
     OPC_CheckPatternPredicate3,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackub),
                     MVT::v128i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 1, 2,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackuh),
                     MVT::v128i8, 1, 3,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v16i32, 2, 4, 5,
    0,
   0,
  31|128,1,
   OPC_CheckChild0Type, MVT::v128i8,
   OPC_SwitchType , 53, MVT::v64i16,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackub),
                     MVT::v256i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i16, 2, 1, 2,
    16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackub),
                     MVT::v64i16, 1, 2,
    16,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 1,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackub),
                     MVT::v64i16, 1, 2,
    0,
   98, MVT::v32i32,
    OPC_Scope, 31,
     OPC_CheckPatternPredicate4,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackub),
                     MVT::v256i8, 1, 0,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v128i8, 2, 1, 2,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackuh),
                     MVT::v256i8, 1, 3,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v32i32, 2, 4, 5,
    31,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackub),
                     MVT::v128i8, 1, 2,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 3, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackuh),
                     MVT::v32i32, 1, 5,
    31,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackub),
                     MVT::v128i8, 1, 2,
     OPC_EmitIntegerI32, Hexagon::vsub_lo,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v64i8, 2, 3, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackuh),
                     MVT::v32i32, 1, 5,
    0,
   0,
  40,
   OPC_CheckChild0Type, MVT::v32i16,
   OPC_CheckType, MVT::v16i32,
   OPC_Scope, 16,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackuh),
                    MVT::v128i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i32, 2, 1, 2,
   16,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackuh),
                    MVT::v128i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i32, 2, 1, 2,
   0,
  57,
   OPC_CheckChild0Type, MVT::v64i16,
   OPC_CheckType, MVT::v32i32,
   OPC_Scope, 16,
    OPC_CheckPatternPredicate4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackuh),
                    MVT::v256i8, 1, 0,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v32i32, 2, 1, 2,
   16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackuh),
                    MVT::v32i32, 1, 2,
   16,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackuh),
                    MVT::v32i32, 1, 2,
   0,
  55,
   OPC_CheckChild0Type, MVT::v256i8,
   OPC_SwitchType , 16, MVT::v128i16,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 0, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackub),
                    MVT::v128i16, 1, 2,
   31, MVT::v64i32,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 0, 1,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vunpackub),
                    MVT::v256i8, 1, 2,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v128i8, 2, 3, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackuh),
                    MVT::v64i32, 1, 5,
   0,
  20,
   OPC_CheckChild0Type, MVT::v128i16,
   OPC_CheckType, MVT::v64i32,
   OPC_CheckPatternPredicate4,
   OPC_EmitIntegerI32, Hexagon::vsub_lo,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 0, 1,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vunpackuh),
                   MVT::v64i32, 1, 2,
  0,
 85|128,1, TARGET_VAL(HexagonISD::VALIGN),
  OPC_RecordChild0,
  OPC_SwitchType , 44, MVT::v64i8,
   OPC_CheckChild0Type, MVT::v64i8,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_valignb),
                    MVT::v64i8, 3, 0, 1, 2,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 3, 4,
   18,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_valignb),
                    MVT::v64i8, 3, 0, 1, 2,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v64i8, 2, 3, 4,
   0,
  22, MVT::v128i8,
   OPC_CheckChild0Type, MVT::v128i8,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_valignb),
                   MVT::v128i8, 3, 0, 1, 2,
   OPC_EmitIntegerI32, Hexagon::vsub_lo,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v128i8, 2, 3, 4,
  44, MVT::v32i16,
   OPC_CheckChild0Type, MVT::v32i16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_valignb),
                    MVT::v64i8, 3, 0, 1, 2,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v32i16, 2, 3, 4,
   18,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_valignb),
                    MVT::v64i8, 3, 0, 1, 2,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v32i16, 2, 3, 4,
   0,
  22, MVT::v64i16,
   OPC_CheckChild0Type, MVT::v64i16,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_valignb),
                   MVT::v128i8, 3, 0, 1, 2,
   OPC_EmitIntegerI32, Hexagon::vsub_lo,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v64i16, 2, 3, 4,
  44, MVT::v16i32,
   OPC_CheckChild0Type, MVT::v16i32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_valignb),
                    MVT::v64i8, 3, 0, 1, 2,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i32, 2, 3, 4,
   18,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_valignb),
                    MVT::v64i8, 3, 0, 1, 2,
    OPC_EmitIntegerI32, Hexagon::vsub_lo,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v16i32, 2, 3, 4,
   0,
  22, MVT::v32i32,
   OPC_CheckChild0Type, MVT::v32i32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate4,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_valignb),
                   MVT::v128i8, 3, 0, 1, 2,
   OPC_EmitIntegerI32, Hexagon::vsub_lo,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v32i32, 2, 3, 4,
  0,
 87|128,4, TARGET_VAL(HexagonISD::QCAT),
  OPC_RecordChild0,
  OPC_SwitchType , 37|128,2, MVT::v64i1,
   OPC_CheckChild0Type, MVT::v32i1,
   OPC_RecordChild1,
   OPC_Scope, 95,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v64i8, 0,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                    MVT::v64i8, 2, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackeb),
                    MVT::v64i8, 2, 2, 5,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNodeXForm, 28, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vror),
                    MVT::v64i8, 2, 6, 9,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v64i8, 0,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 12,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                    MVT::v64i8, 2, 0, 13,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackeb),
                    MVT::v64i8, 2, 11, 14,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v64i8, 2, 10, 15,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                    MVT::v64i1, 2, 16, 18,
   95,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v64i8, 0,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                    MVT::v64i8, 2, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackeb),
                    MVT::v64i8, 2, 2, 5,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNodeXForm, 28, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vror),
                    MVT::v64i8, 2, 6, 9,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v64i8, 0,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 12,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                    MVT::v64i8, 2, 0, 13,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackeb),
                    MVT::v64i8, 2, 11, 14,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v64i8, 2, 10, 15,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                    MVT::v64i1, 2, 16, 18,
   95,
    OPC_CheckPatternPredicate4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v128i8, 0,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                    MVT::v128i8, 2, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackeb),
                    MVT::v128i8, 2, 2, 5,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNodeXForm, 28, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vror),
                    MVT::v128i8, 2, 6, 9,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v128i8, 0,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 12,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                    MVT::v128i8, 2, 0, 13,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackeb),
                    MVT::v128i8, 2, 11, 14,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v128i8, 2, 10, 15,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                    MVT::v64i1, 2, 16, 18,
   0,
  98, MVT::v128i1,
   OPC_CheckChild0Type, MVT::v64i1,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate4,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                   MVT::v128i8, 0,
   OPC_EmitIntegerI32, 127,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                   MVT::i32, 1, 3,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                   MVT::v128i8, 2, 1, 4,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackeb),
                   MVT::v128i8, 2, 2, 5,
   OPC_EmitIntegerI32, 0,
   OPC_EmitNodeXForm, 28, 7,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                   MVT::i32, 1, 8,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vror),
                   MVT::v128i8, 2, 6, 9,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                   MVT::v128i8, 0,
   OPC_EmitIntegerI32, 127,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                   MVT::i32, 1, 12,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                   MVT::v128i8, 2, 0, 13,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackeb),
                   MVT::v128i8, 2, 11, 14,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vor),
                   MVT::v128i8, 2, 10, 15,
   OPC_EmitIntegerI32, 127,
   OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                   MVT::i32, 1, 17,
   OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                   MVT::v128i1, 2, 16, 18,
  69|128,1, MVT::v32i1,
   OPC_CheckChild0Type, MVT::v16i1,
   OPC_RecordChild1,
   OPC_Scope, 95,
    OPC_CheckPatternPredicate2,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v64i8, 0,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                    MVT::v64i8, 2, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackeb),
                    MVT::v64i8, 2, 2, 5,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNodeXForm, 28, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vror),
                    MVT::v64i8, 2, 6, 9,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v64i8, 0,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 12,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                    MVT::v64i8, 2, 0, 13,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackeb),
                    MVT::v64i8, 2, 11, 14,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v64i8, 2, 10, 15,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                    MVT::v32i1, 2, 16, 18,
   95,
    OPC_CheckPatternPredicate3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v64i8, 0,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 3,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                    MVT::v64i8, 2, 1, 4,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackeb),
                    MVT::v64i8, 2, 2, 5,
    OPC_EmitIntegerI32, 0,
    OPC_EmitNodeXForm, 28, 7,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 8,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vror),
                    MVT::v64i8, 2, 6, 9,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vd0),
                    MVT::v64i8, 0,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 12,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vandqrt),
                    MVT::v64i8, 2, 0, 13,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vpackeb),
                    MVT::v64i8, 2, 11, 14,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::V6_vor),
                    MVT::v64i8, 2, 10, 15,
    OPC_EmitIntegerI32, 127,
    OPC_EmitNode1None, TARGET_VAL(Hexagon::A2_tfrsi),
                    MVT::i32, 1, 17,
    OPC_MorphNodeTo1None, TARGET_VAL(Hexagon::V6_vandvrt),
                    MVT::v32i1, 2, 16, 18,
   0,
  0,
 0,
    0
  }; // Total Array size is 180878 bytes

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

#ifdef GET_DAGISEL_DECL
bool CheckPatternPredicate(unsigned PredNo) const override;
#endif
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
bool DAGISEL_CLASS_COLONCOLON CheckPatternPredicate(unsigned PredNo) const
#if DAGISEL_INLINE
  override
#endif
{
  switch (PredNo) {
  default: llvm_unreachable("Invalid predicate in table?");
  case 0: return (HST->hasV5Ops());
  case 1: return (HST->useMemops());
  case 2: return (HST->useHVXOps()) && (HST->useHVX64BOps());
  case 3: return (HST->useHVXOps()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 4: return (HST->useHVXOps()) && (HST->useHVX128BOps());
  case 5: return (HST->useHVX64BOps()) && (HST->useHVXV60Ops()) && (HST->useHVX64BOps());
  case 6: return (HST->useHVX64BOps()) && (HST->useHVXV60Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 7: return (HST->useHVX128BOps()) && (HST->useHVXV60Ops()) && (HST->useHVX128BOps());
  case 8: return (HST->useHVXV68Ops()) && (HST->useHVX64BOps());
  case 9: return (HST->useHVXV68Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 10: return (HST->useHVXV68Ops()) && (HST->useHVX128BOps());
  case 11: return (HST->useHVXFloatingPoint()) && (HST->useHVXV68Ops()) && (HST->useHVX64BOps());
  case 12: return (HST->useHVXFloatingPoint()) && (HST->useHVXV68Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 13: return (HST->useHVXFloatingPoint()) && (HST->useHVXV68Ops()) && (HST->useHVX128BOps());
  case 14: return (HST->useHVXOps()) && (HST->useHVXFloatingPoint()) && (HST->useHVX64BOps());
  case 15: return (HST->useHVXOps()) && (HST->useHVXFloatingPoint()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 16: return (HST->useHVXOps()) && (HST->useHVXFloatingPoint()) && (HST->useHVX128BOps());
  case 17: return (HST->useHVX64BOps()) && (HST->useHVXV62Ops()) && (HST->useHVX64BOps());
  case 18: return (HST->useHVX64BOps()) && (HST->useHVXV62Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 19: return (HST->useHVX128BOps()) && (HST->useHVXV62Ops()) && (HST->useHVX128BOps());
  case 20: return (HST->useHVX128BOps()) && (HST->useHVXQFloatOps()) && (HST->useHVXV68Ops()) && (HST->useHVX128BOps());
  case 21: return (HST->hasV67Ops());
  case 22: return (HST->useCompound());
  case 23: return (HST->useHVX64BOps()) && (HST->useHVXV68Ops()) && (HST->useHVX64BOps());
  case 24: return (HST->useHVX64BOps()) && (HST->useHVXV68Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 25: return (HST->useHVX128BOps()) && (HST->useHVXV68Ops()) && (HST->useHVX128BOps());
  case 26: return (HST->useHVX64BOps()) && (HST->useHVXV65Ops()) && (HST->useHVX64BOps());
  case 27: return (HST->useHVX64BOps()) && (HST->useHVXV65Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 28: return (HST->useHVX64BOps()) && (HST->useHVXQFloatOps()) && (HST->useHVXV68Ops()) && (HST->useHVX64BOps());
  case 29: return (HST->useHVX64BOps()) && (HST->useHVXQFloatOps()) && (HST->useHVXV68Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 30: return (HST->hasV60Ops());
  case 31: return (HST->useHVX128BOps()) && (HST->useHVXV65Ops()) && (HST->useHVX128BOps());
  case 32: return (HST->useHVX64BOps()) && (HST->useHVXQFloatOps()) && (HST->useHVXV81Ops()) && (HST->useHVX64BOps());
  case 33: return (HST->useHVX64BOps()) && (HST->useHVXQFloatOps()) && (HST->useHVXV81Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 34: return (HST->useHVX128BOps()) && (HST->useHVXQFloatOps()) && (HST->useHVXV81Ops()) && (HST->useHVX128BOps());
  case 35: return (HST->useHVXOps()) && (HST->useHVXV60Ops()) && (HST->useHVX64BOps());
  case 36: return (HST->useHVXOps()) && (HST->useHVXV60Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 37: return (HST->useHVXOps()) && (HST->useHVXV60Ops()) && (HST->useHVX128BOps());
  case 38: return (HST->hasV5Ops()) && (HST->useCompound());
  case 39: return (HST->useHVXOps()) && (HST->useHVXV62Ops()) && (HST->useHVX64BOps());
  case 40: return (HST->useHVXOps()) && (HST->useHVXV62Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 41: return (HST->useHVXOps()) && (HST->useHVXV62Ops()) && (HST->useHVX128BOps());
  case 42: return (HST->useHVXIEEEFPOps()) && (HST->useHVXV68Ops()) && (HST->useHVX64BOps());
  case 43: return (HST->useHVXIEEEFPOps()) && (HST->useHVXV68Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 44: return (HST->useHVXIEEEFPOps()) && (HST->useHVXV68Ops()) && (HST->useHVX128BOps());
  case 45: return (HST->useHVX128BOps()) && (HST->useHVXQFloatOps()) && (HST->useHVXV68Ops()) && (HST->useHVX64BOps());
  case 46: return (HST->useHVX128BOps()) && (HST->useHVXQFloatOps()) && (HST->useHVXV68Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 47: return (HST->useHVX128BOps()) && (HST->useHVXIEEEFPOps()) && (HST->useHVXV68Ops()) && (HST->useHVX64BOps());
  case 48: return (HST->useHVX128BOps()) && (HST->useHVXIEEEFPOps()) && (HST->useHVXV68Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 49: return (HST->useHVX128BOps()) && (HST->useHVXIEEEFPOps()) && (HST->useHVXV68Ops()) && (HST->useHVX128BOps());
  case 50: return (HST->useHVX64BOps()) && (HST->useHVXV73Ops()) && (HST->useHVX64BOps());
  case 51: return (HST->useHVX64BOps()) && (HST->useHVXV73Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 52: return (HST->useHVX128BOps()) && (HST->useHVXV73Ops()) && (HST->useHVX128BOps());
  case 53: return (HST->hasV79Ops()) && (HST->useHVX64BOps()) && (HST->useHVX64BOps());
  case 54: return (HST->hasV79Ops()) && (HST->useHVX64BOps()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 55: return (HST->hasV79Ops()) && (HST->useHVX128BOps()) && (HST->useHVX128BOps());
  case 56: return (HST->hasV66Ops());
  case 57: return (HST->useHVX64BOps()) && (HST->useHVXV60Ops()) && (HST->useHVX128BOps());
  case 58: return (HST->useHVX64BOps()) && (HST->useHVXQFloatOps()) && (HST->useHVXV79Ops()) && (HST->useHVX64BOps());
  case 59: return (HST->useHVX64BOps()) && (HST->useHVXQFloatOps()) && (HST->useHVXV79Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 60: return (HST->useHVX128BOps()) && (HST->useHVXQFloatOps()) && (HST->useHVXV79Ops()) && (HST->useHVX128BOps());
  case 61: return (HST->useHVXQFloatOps()) && (HST->useHVXV68Ops()) && (HST->useHVX64BOps());
  case 62: return (HST->useHVXQFloatOps()) && (HST->useHVXV68Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 63: return (HST->useHVXQFloatOps()) && (HST->useHVXV68Ops()) && (HST->useHVX128BOps());
  case 64: return (HST->hasV62Ops());
  case 65: return (HST->useHVX64BOps()) && (HST->useHVXV66Ops()) && (HST->useHVX64BOps());
  case 66: return (HST->useHVX64BOps()) && (HST->useHVXV66Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 67: return (HST->useHVX128BOps()) && (HST->useHVXV66Ops()) && (HST->useHVX128BOps());
  case 68: return (HST->hasV68Ops());
  case 69: return (HST->useHVX64BOps()) && (HST->useHVX64BOps());
  case 70: return (HST->useHVX64BOps()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 71: return (HST->useHVX128BOps()) && (HST->useHVX64BOps());
  case 72: return (HST->useHVX128BOps()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 73: return (HST->useHVX64BOps());
  case 74: return !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 75: return (HST->useHVX128BOps());
  case 76: return (HST->useHVX64BOps()) && (HST->useHVXV69Ops()) && (HST->useHVX64BOps());
  case 77: return (HST->useHVX64BOps()) && (HST->useHVXV69Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 78: return (HST->useHVX128BOps()) && (HST->useHVXV69Ops()) && (HST->useHVX128BOps());
  case 79: return (HST->useHVXOps()) && (HST->useHVXV65Ops()) && (HST->useHVX64BOps());
  case 80: return (HST->useHVXOps()) && (HST->useHVXV65Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 81: return (HST->useHVXOps()) && (HST->useHVXV65Ops()) && (HST->useHVX128BOps());
  case 82: return (HST->useHVX64BOps()) && (HST->useHVXQFloatOps()) && (HST->useHVXV73Ops()) && (HST->useHVX64BOps());
  case 83: return (HST->useHVX64BOps()) && (HST->useHVXQFloatOps()) && (HST->useHVXV73Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 84: return (HST->useHVX128BOps()) && (HST->useHVXQFloatOps()) && (HST->useHVXV73Ops()) && (HST->useHVX128BOps());
  case 85: return (HST->useHVX64BOps()) && (HST->useHVXV79Ops()) && (HST->useHVX64BOps());
  case 86: return (HST->useHVX64BOps()) && (HST->useHVXV79Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 87: return (HST->useHVX128BOps()) && (HST->useHVXV79Ops()) && (HST->useHVX128BOps());
  case 88: return (HST->useHVX64BOps()) && (HST->useHVX128BOps());
  case 89: return (HST->useHVX128BOps()) && (HST->useHVX128BOps());
  case 90: return (HST->useHVXOps()) && (HST->useHVX64BOps()) && (HST->useHVX64BOps());
  case 91: return (HST->useHVXOps()) && (HST->useHVX64BOps()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 92: return (HST->useHVXOps()) && (HST->useHVX64BOps()) && (HST->useHVX128BOps());
  case 93: return (HST->useHVXOps()) && (HST->useHVX128BOps()) && (HST->useHVX64BOps());
  case 94: return (HST->useHVXOps()) && (HST->useHVX128BOps()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 95: return (HST->useHVXOps()) && (HST->useHVX128BOps()) && (HST->useHVX128BOps());
  case 96: return (HST->useHVX64BOps()) && (HST->useHVXV62Ops()) && (HST->useHVX128BOps());
  case 97: return (HST->useHVXFloatingPoint()) && (HST->useHVXV81Ops()) && (HST->useHVX64BOps());
  case 98: return (HST->useHVXFloatingPoint()) && (HST->useHVXV81Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 99: return (HST->useHVXFloatingPoint()) && (HST->useHVXV81Ops()) && (HST->useHVX128BOps());
  case 100: return (HST->useHVX64BOps()) && (HST->useHVXV81Ops()) && (HST->useHVX64BOps());
  case 101: return (HST->useHVX64BOps()) && (HST->useHVXV81Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 102: return (HST->useHVX128BOps()) && (HST->useHVXV81Ops()) && (HST->useHVX128BOps());
  case 103: return (HST->useHVXOps()) && (HST->useHVXV66Ops()) && (HST->useHVX64BOps());
  case 104: return (HST->useHVXOps()) && (HST->useHVXV66Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 105: return (HST->useHVXOps()) && (HST->useHVXV66Ops()) && (HST->useHVX128BOps());
  case 106: return (HST->hasV65Ops());
  case 107: return (!HST->isTinyCore() ||MF->getFunction().hasOptSize()) && (HST->useSmallData());
  case 108: return (HST->useHVXV62Ops()) && (HST->useHVX64BOps());
  case 109: return (HST->useHVXV62Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 110: return (HST->useHVXV60Ops()) && (HST->useHVX64BOps());
  case 111: return (HST->useHVXV60Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 112: return (HST->useHVXV62Ops()) && (HST->useHVX128BOps());
  case 113: return (HST->useHVXV60Ops()) && (HST->useHVX128BOps());
  case 114: return (HST->useHVXV69Ops()) && (HST->useHVX64BOps());
  case 115: return (HST->useHVXV69Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 116: return (HST->useHVXV69Ops()) && (HST->useHVX128BOps());
  case 117: return (HST->useHVXV81Ops()) && (HST->useHVX64BOps());
  case 118: return (HST->useHVXV81Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 119: return (HST->useHVXV81Ops()) && (HST->useHVX128BOps());
  case 120: return (HST->useHVXQFloatOps()) && (HST->useHVXV73Ops()) && (HST->useHVX64BOps());
  case 121: return (HST->useHVXQFloatOps()) && (HST->useHVXV73Ops()) && !((HST->useHVX64BOps())) && !((HST->useHVX128BOps()));
  case 122: return (HST->useHVXQFloatOps()) && (HST->useHVXV73Ops()) && (HST->useHVX128BOps());
  }
}
#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_atomic_load_aext_8
    // Predicate_atomic_load_zext_8
    // Predicate_atomic_store_8
    // Predicate_extloadi8
    // Predicate_post_truncsti8
    // Predicate_sextloadi8
    // Predicate_truncstorei8
    // Predicate_zextloadi8
    SDNode *N = Op.getNode();
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i8) return false;
return true;

  }
  case 2: {
    // Predicate_atomic_load_aext_16
    // Predicate_atomic_load_zext_16
    // Predicate_atomic_store_16
    // Predicate_extloadi16
    // Predicate_post_truncsti16
    // Predicate_sextloadi16
    // Predicate_truncstorei16
    // Predicate_zextloadi16
    SDNode *N = Op.getNode();
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i16) return false;
return true;

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

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

  return isOrEquivalentToAdd(N);

  }
  case 5: {
    // Predicate_anonymous_15523
    // Predicate_anonymous_15525
    // Predicate_anonymous_15529
    // Predicate_anonymous_15531
    // Predicate_anonymous_15573
    // Predicate_anonymous_15578
    // Predicate_anonymous_15993
    // Predicate_anonymous_16002
    // Predicate_anonymous_16013
    // Predicate_anonymous_16024
    // Predicate_anonymous_16188
    // Predicate_anonymous_16193
    // Predicate_anonymous_16214
    // Predicate_anonymous_16228
    SDNode *N = Op.getNode();
    (void)N;
 return hasOneUse(N); 
  }
  case 6: {
    // Predicate_unindexedload
    SDNode *N = Op.getNode();
    (void)N;
if (cast<LoadSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
return true;

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

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

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

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

  }
  case 11: {
    // Predicate_u5_0ImmPred
    // Predicate_u5_0ImmPred_timm
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isShiftedUInt<5, 0>(N->getSExtValue());
  }
  case 12: {
    // Predicate_u6_0ImmPred
    // Predicate_u6_0ImmPred_timm
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isShiftedUInt<6, 0>(N->getSExtValue());
  }
  case 13: {
    // Predicate_load
    SDNode *N = Op.getNode();
    (void)N;
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
return true;

  }
  case 14: {
    // Predicate_extloadi1
    // Predicate_sextloadi1
    // Predicate_zextloadi1
    SDNode *N = Op.getNode();
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i1) return false;
return true;

  }
  case 15: {
    // Predicate_atomic_load_nonext_32
    // Predicate_atomic_store_32
    // Predicate_extloadi32
    // Predicate_sextloadi32
    // Predicate_truncstorei32
    // Predicate_zextloadi32
    SDNode *N = Op.getNode();
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i32) return false;
return true;

  }
  case 16: {
    // Predicate_alignedload
    // Predicate_alignedstore
    SDNode *N = Op.getNode();
    (void)N;

  return isAlignedMemNode(cast<MemSDNode>(N));

  }
  case 17: {
    // Predicate_unalignedload
    // Predicate_unalignedstore
    SDNode *N = Op.getNode();
    (void)N;

  return !isAlignedMemNode(cast<MemSDNode>(N));

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

  return cast<StoreSDNode>(N)->isNonTemporal();

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

  StoreSDNode *St = cast<StoreSDNode>(N);
  return St->getAlign() >= St->getMemoryVT().getStoreSize();

  }
  case 20: {
    // Predicate_u6_2ImmPred
    // Predicate_u6_2ImmPred_timm
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isShiftedUInt<6, 2>(N->getSExtValue());
  }
  case 21: {
    // Predicate_u6_1ImmPred
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isShiftedUInt<6, 1>(N->getSExtValue());
  }
  case 22: {
    // Predicate_u2_0ImmPred
    // Predicate_u2_0ImmPred_timm
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isShiftedUInt<2, 0>(N->getSExtValue());
  }
  case 23: {
    // Predicate_IsPow2_32
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  uint32_t V = N->getZExtValue();
  return isPowerOf2_32(V);

  }
  case 24: {
    // Predicate_m5_0Imm8Pred
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  int8_t V = N->getSExtValue();
  return -32 < V && V <= -1;

  }
  case 25: {
    // Predicate_m5_0Imm16Pred
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  int16_t V = N->getSExtValue();
  return -32 < V && V <= -1;

  }
  case 26: {
    // Predicate_m32_0ImmPred_timm
    // Predicate_s32_0ImmPred
    // Predicate_s32_0ImmPred_timm
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isShiftedInt<32, 0>(N->getSExtValue());
  }
  case 27: {
    // Predicate_extloadv2i8
    // Predicate_sextloadv2i8
    // Predicate_zextloadv2i8
    SDNode *N = Op.getNode();
    (void)N;

  return cast<LoadSDNode>(N)->getMemoryVT() == MVT::v2i8;

  }
  case 28: {
    // Predicate_extloadv4i8
    // Predicate_sextloadv4i8
    // Predicate_zextloadv4i8
    SDNode *N = Op.getNode();
    (void)N;

  return cast<LoadSDNode>(N)->getMemoryVT() == MVT::v4i8;

  }
  case 29: {
    // Predicate_f32zero
    auto *N = cast<ConstantFPSDNode>(Op.getNode());
    (void)N;

  return N->isExactlyValue(APFloat::getZero(APFloat::IEEEsingle(), false));

  }
  case 30: {
    // Predicate_IsVecOff
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  int32_t V = N->getSExtValue();
  int32_t VecSize = HRI->getSpillSize(Hexagon::HvxVRRegClass);
  assert(isPowerOf2_32(VecSize));
  if ((uint32_t(V) & (uint32_t(VecSize)-1)) != 0)
    return false;
  int32_t L = Log2_32(VecSize);
  return isInt<4>(V >> L);

  }
  case 31: {
    // Predicate_atomic_load_nonext_64
    // Predicate_atomic_store_64
    SDNode *N = Op.getNode();
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i64) return false;
return true;

  }
  case 32: {
    // Predicate_u32_0ImmPred
    // Predicate_u32_0ImmPred_timm
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isShiftedUInt<32, 0>(N->getSExtValue());
  }
  case 33: {
    // Predicate_atomic_load_aext
    SDNode *N = Op.getNode();
    (void)N;
if (cast<AtomicSDNode>(N)->getExtensionType() != ISD::EXTLOAD) return false;
return true;

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

  }
  case 35: {
    // Predicate_u3_0ImmPred
    // Predicate_u3_0ImmPred_timm
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isShiftedUInt<3, 0>(N->getSExtValue());
  }
  case 36: {
    // Predicate_IsNPow2_8
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  uint8_t NV = ~N->getZExtValue();
  return isPowerOf2_32(NV);

  }
  case 37: {
    // Predicate_IsNPow2_16
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  uint16_t NV = ~N->getZExtValue();
  return isPowerOf2_32(NV);

  }
  case 38: {
    // Predicate_anonymous_16892
    // Predicate_anonymous_16894
    // Predicate_anonymous_16898
    SDNode *N = Op.getNode();
    (void)N;

  return isSmallStackStore(cast<StoreSDNode>(N));

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

  return cast<LoadSDNode>(N)->isNonTemporal();

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

  LoadSDNode *Ld = cast<LoadSDNode>(N);
  return Ld->getAlign() >= Ld->getMemoryVT().getStoreSize();

  }
  case 41: {
    // Predicate_u4_0ImmPred
    // Predicate_u4_0ImmPred_timm
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isShiftedUInt<4, 0>(N->getSExtValue());
  }
  case 42: {
    // Predicate_s8_0ImmPred
    // Predicate_s8_0ImmPred_timm
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isShiftedInt<8, 0>(N->getSExtValue());
  }
  case 43: {
    // Predicate_m5_0ImmPred
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  int64_t V = N->getSExtValue();
  return -31 <= V && V <= -1;

  }
  case 44: {
    // Predicate_anonymous_16210
    // Predicate_anonymous_16212
    SDNode *N = Op.getNode();
    (void)N;

            if (hasOneUse(N)){
              // Check if Op1 is an immediate operand.
              SDValue Op1 = N->getOperand(1);
              return !isa<ConstantSDNode>(Op1);
            }
            return false;
  }
  case 45: {
    // Predicate_u1_0ImmPred_timm
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isShiftedUInt<1, 0>(N->getSExtValue());
  }
  case 46: {
    // Predicate_atomic_load_nonext
    SDNode *N = Op.getNode();
    (void)N;
if (cast<AtomicSDNode>(N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
return true;

  }
  case 47: {
    // Predicate_anonymous_16909
    // Predicate_anonymous_16913
    // Predicate_anonymous_16917
    SDNode *N = Op.getNode();
    (void)N;

  return !isSmallStackStore(cast<StoreSDNode>(N));

  }
  case 48: {
    // Predicate_anonymous_15697
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
uint64_t V = N->getZExtValue();return isUInt<32>(V) && V > 31;
  }
  case 49: {
    // Predicate_IsNPow2_32
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  uint32_t NV = ~N->getZExtValue();
  return isPowerOf2_32(NV);

  }
  case 50: {
    // Predicate_u8_0ImmPred
    // Predicate_u8_0ImmPred_timm
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isShiftedUInt<8, 0>(N->getSExtValue());
  }
  case 51: {
    // Predicate_u16_0ImmPred
    // Predicate_u16_0ImmPred_timm
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isShiftedUInt<16, 0>(N->getSExtValue());
  }
  case 52: {
    // Predicate_u3_64_ImmPred
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  int64_t v = (int64_t)(64 - N->getSExtValue());
  return isUInt<3>(v);

  }
  case 53: {
    // Predicate_u3_128_ImmPred
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  int64_t v = (int64_t)(128 - N->getSExtValue());
  return isUInt<3>(v);

  }
  case 54: {
    // Predicate_post_store
    // Predicate_post_truncst
    SDNode *N = Op.getNode();
    (void)N;

  ISD::MemIndexedMode AM = cast<StoreSDNode>(N)->getAddressingMode();
  return AM == ISD::POST_INC || AM == ISD::POST_DEC;

  }
  case 55: {
    // Predicate_IsPow2_64L
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  uint64_t V = N->getZExtValue();
  return isPowerOf2_64(V) && Log2_64(V) < 32;

  }
  case 56: {
    // Predicate_IsPow2_64H
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  uint64_t V = N->getZExtValue();
  return isPowerOf2_64(V) && Log2_64(V) >= 32;

  }
  case 57: {
    // Predicate_anonymous_15694
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
uint64_t V = N->getZExtValue();return isUInt<8>(V) && V > 31;
  }
  case 58: {
    // Predicate_anonymous_15711
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
uint64_t V = N->getZExtValue();return isUInt<32>(V) && V > 32;
  }
  case 59: {
    // Predicate_s6_0ImmPred
    // Predicate_s6_0ImmPred_timm
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isShiftedInt<6, 0>(N->getSExtValue());
  }
  case 60: {
    // Predicate_u10_0ImmPred_timm
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isShiftedUInt<10, 0>(N->getSExtValue());
  }
  case 61: {
    // Predicate_s4_1ImmPred
    // Predicate_s4_1ImmPred_timm
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isShiftedInt<4, 1>(N->getSExtValue());
  }
  case 62: {
    // Predicate_u7_0ImmPred_timm
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isShiftedUInt<7, 0>(N->getSExtValue());
  }
  case 63: {
    // Predicate_s4_3ImmPred
    // Predicate_s4_3ImmPred_timm
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isShiftedInt<4, 3>(N->getSExtValue());
  }
  case 64: {
    // Predicate_s4_0ImmPred
    // Predicate_s4_0ImmPred_timm
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isShiftedInt<4, 0>(N->getSExtValue());
  }
  case 65: {
    // Predicate_s4_2ImmPred
    // Predicate_s4_2ImmPred_timm
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isShiftedInt<4, 2>(N->getSExtValue());
  }
  case 66: {
    // Predicate_anonymous_16308
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
uint64_t V = N->getZExtValue();return isUInt<32>(V) && V <= 31;
  }
  case 67: {
    // Predicate_IsPosHalf
    SDNode *N = Op.getNode();
    (void)N;

  return isPositiveHalfWord(N);

  }
  case 68: {
    // Predicate_IsMul8_U3
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  uint64_t V = N->getZExtValue();
  return V % 8 == 0 && isUInt<3>(V / 8);

  }
  case 69: {
    // Predicate_u11_3ImmPred
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isShiftedUInt<11, 3>(N->getSExtValue());
  }
  case 70: {
    // Predicate_s30_2ProperPred
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  int64_t v = (int64_t)N->getSExtValue();
  return isShiftedInt<30,2>(v) && !isShiftedInt<29,3>(v);

  }
  case 71: {
    // Predicate_IsNPow2_64L
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  uint64_t NV = ~N->getZExtValue();
  return isPowerOf2_64(NV) && Log2_64(NV) < 32;

  }
  case 72: {
    // Predicate_IsNPow2_64H
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  uint64_t NV = ~N->getZExtValue();
  return isPowerOf2_64(NV) && Log2_64(NV) >= 32;

  }
  case 73: {
    // Predicate_u7_0PosImmPred
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();

  // True if the immediate fits in an 7-bit unsigned field and is positive.
  return Imm > 0 && isUInt<7>(Imm);

  }
  case 74: {
    // Predicate_n8_0ImmPred
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  int64_t V = N->getSExtValue();
  return -255 <= V && V <= 0;

  }
  case 75: {
    // Predicate_s30_2ImmPred
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isShiftedInt<32, 2>(N->getSExtValue());
  }
  case 76: {
    // Predicate_s8_0Imm64Pred
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;
 return isInt<8>(N->getSExtValue()); 
  }
  case 77: {
    // Predicate_fmul_afn
    SDNode *N = Op.getNode();
    (void)N;

  return N->getFlags().hasApproximateFuncs();

  }
  }
}
#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+1);
  return SelectAddrFI(N, Result[NextRes+0].first);
  case 1:
    Result.resize(NextRes+1);
  return SelectAnyImm2(N, Result[NextRes+0].first);
  case 2:
    Result.resize(NextRes+1);
  return SelectAnyImm0(N, Result[NextRes+0].first);
  case 3:
    Result.resize(NextRes+1);
  return SelectAnyImm(N, Result[NextRes+0].first);
  case 4:
    Result.resize(NextRes+1);
  return SelectAnyImm3(N, Result[NextRes+0].first);
  case 5:
    Result.resize(NextRes+1);
  return SelectAnyImm1(N, Result[NextRes+0].first);
  case 6:
    Result.resize(NextRes+1);
  return SelectAddrGP(N, Result[NextRes+0].first);
  case 7:
    Result.resize(NextRes+1);
  return SelectAnyInt(N, Result[NextRes+0].first);
  case 8:
    Result.resize(NextRes+1);
  return DetectUseSxtw(N, Result[NextRes+0].first);
  }
}
#endif // GET_DAGISEL_BODY

#ifdef GET_DAGISEL_DECL
SDValue RunSDNodeXForm(SDValue V, unsigned XFormNo) override;
#endif
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
SDValue DAGISEL_CLASS_COLONCOLON RunSDNodeXForm(SDValue V, unsigned XFormNo)
#if DAGISEL_INLINE
  override
#endif
{
  switch (XFormNo) {
  default: llvm_unreachable("Invalid xform # in table?");
  case 0: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
 return SDValue(N, 0); 
  }
  case 1: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  int8_t NV = -N->getSExtValue();
  return CurDAG->getTargetConstant(NV, SDLoc(N), MVT::i32);

  }
  case 2: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  int16_t NV = -N->getSExtValue();
  return CurDAG->getTargetConstant(NV, SDLoc(N), MVT::i32);

  }
  case 3: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  int32_t NV = -N->getSExtValue();
  return CurDAG->getTargetConstant(NV, SDLoc(N), MVT::i32);

  }
  case 4: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  uint8_t NV = ~N->getZExtValue();
  return CurDAG->getTargetConstant(Log2_32(NV), SDLoc(N), MVT::i32);

  }
  case 5: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  uint16_t NV = ~N->getZExtValue();
  return CurDAG->getTargetConstant(Log2_32(NV), SDLoc(N), MVT::i32);

  }
  case 6: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  uint32_t NV = ~N->getZExtValue();
  return CurDAG->getTargetConstant(Log2_32(NV), SDLoc(N), MVT::i32);

  }
  case 7: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  uint8_t V = N->getZExtValue();
  return CurDAG->getTargetConstant(Log2_32(V), SDLoc(N), MVT::i32);

  }
  case 8: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  uint16_t V = N->getZExtValue();
  return CurDAG->getTargetConstant(Log2_32(V), SDLoc(N), MVT::i32);

  }
  case 9: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  uint32_t V = N->getZExtValue();
  return CurDAG->getTargetConstant(Log2_32(V), SDLoc(N), MVT::i32);

  }
  case 10: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  int32_t Imm = N->getSExtValue();
  return CurDAG->getSignedTargetConstant(Imm & -8, SDLoc(N), MVT::i32);

  }
  case 11: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  // -1 can be represented as 255, etc.
  // assigning to a byte restores our desired signed value.
  int8_t imm = N->getSExtValue();
  return CurDAG->getSignedTargetConstant(imm, SDLoc(N), MVT::i32);

  }
  case 12: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  // -1 can be represented as 65535, etc.
  // assigning to a short restores our desired signed value.
  int16_t imm = N->getSExtValue();
  return CurDAG->getSignedTargetConstant(imm, SDLoc(N), MVT::i32);

  }
  case 13: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  // -1 can be represented as 4294967295, etc.
  // Currently, it's not doing this. But some optimization
  // might convert -1 to a large +ve number.
  // assigning to a word restores our desired signed value.
  int32_t imm = N->getSExtValue();
  return CurDAG->getSignedTargetConstant(imm, SDLoc(N), MVT::i32);

  }
  case 14: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  uint64_t V = N->getZExtValue();
  return CurDAG->getTargetConstant(Log2_64(V), SDLoc(N), MVT::i32);

  }
  case 15: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  uint32_t V = N->getZExtValue();
  assert(V >= 32);
  return CurDAG->getTargetConstant(V-32, SDLoc(N), MVT::i32);

  }
  case 16: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  uint64_t NV = ~N->getZExtValue();
  return CurDAG->getTargetConstant(Log2_64(NV), SDLoc(N), MVT::i32);

  }
  case 17: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  uint32_t V = N->getZExtValue();
  assert(V >= 1);
  return CurDAG->getTargetConstant(V-1, SDLoc(N), MVT::i32);

  }
  case 18: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  int32_t V = N->getSExtValue();
  return CurDAG->getSignedTargetConstant(V-1, SDLoc(N), MVT::i32);

  }
  case 19: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  int32_t V = N->getSExtValue();
  return CurDAG->getSignedTargetConstant(V-2, SDLoc(N), MVT::i32);

  }
  case 20: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  int32_t V = N->getSExtValue();
  return CurDAG->getSignedTargetConstant(V-3, SDLoc(N), MVT::i32);

  }
  case 21: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  int64_t V = N->getSExtValue();
  return CurDAG->getTargetConstant(V, SDLoc(N), MVT::i64);

  }
  case 22: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

   int32_t Imm = N->getSExtValue();
   return CurDAG->getTargetConstant(64 - Imm, SDLoc(N), MVT::i32);

  }
  case 23: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

   int32_t Imm = N->getSExtValue();
   return CurDAG->getTargetConstant(128 - Imm, SDLoc(N), MVT::i32);

  }
  case 24: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  return CurDAG->getTargetConstant((64 - N->getSExtValue()) / 8,
                                   SDLoc(N), MVT::i32);

  }
  case 25: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
int32_t V = 64 - N->getSExtValue();return CurDAG->getTargetConstant(V, SDLoc(N), MVT::i32);
  }
  case 26: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  return CurDAG->getTargetConstant(N->getZExtValue() / 8, SDLoc(N), MVT::i32);

  }
  case 27: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());
int32_t V = 32 - N->getSExtValue();return CurDAG->getTargetConstant(V, SDLoc(N), MVT::i32);
  }
  case 28: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  const auto &ST = CurDAG->getSubtarget<HexagonSubtarget>();
  return CurDAG->getTargetConstant(ST.getVectorLength()/2, SDLoc(N), MVT::i32);

  }
  case 29: {  
    ConstantFPSDNode *N = cast<ConstantFPSDNode>(V.getNode());

  APInt I = N->getValueAPF().bitcastToAPInt();
  return CurDAG->getTargetConstant(I.getZExtValue(), SDLoc(N),
                                   MVT::getIntegerVT(I.getBitWidth()));

  }
  case 30: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  return CurDAG->getSignedTargetConstant(N->getSExtValue(), SDLoc(N), MVT::i32);

  }
  case 31: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  return CurDAG->getSignedTargetConstant(int32_t(N->getSExtValue()>>32),
                                         SDLoc(N), MVT::i32);

  }
  case 32: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  return CurDAG->getSignedTargetConstant(int32_t(N->getSExtValue()),
                                         SDLoc(N), MVT::i32);

  }
  case 33: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  uint32_t V = N->getZExtValue();
  assert(isUInt<8>(V) || V >> 8 == 0xFFFFFF);
  V &= 0xFF;
  uint32_t S = V << 24 | V << 16 | V << 8 | V;
  return CurDAG->getTargetConstant(S, SDLoc(N), MVT::i32);

  }
  case 34: {  
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

  uint32_t V = N->getZExtValue();
  assert(isUInt<16>(V) || V >> 16 == 0xFFFF);
  V &= 0xFFFF;
  return CurDAG->getTargetConstant(V << 16 | V, SDLoc(N), MVT::i32);

  }
  }
}
#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
