/*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
|*                                                                            *|
|* DAG Instruction Selector for the ARM 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 , 114|128,71, TARGET_VAL(ISD::OR),
  OPC_Scope, 101|128,4,
   OPC_MoveChild0,
   OPC_Scope, 59,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 24,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 16,
    OPC_MoveSibling1,
    OPC_CheckAndImm, 127|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Integer, 8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::REVSH),
                     MVT::i32, 3, 0, 1, 2,
    13,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2REVSH),
                     MVT::i32, 3, 0, 1, 2,
    0,
   59,
    OPC_CheckAndImm, 127|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 8,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Integer, 24,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 16,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::REVSH),
                     MVT::i32, 3, 0, 1, 2,
    13,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2REVSH),
                     MVT::i32, 3, 0, 1, 2,
    0,
   45,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 60,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::PKHBT),
                    MVT::i32, 5, 0, 1, 3, 4, 5,
   79,
    OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15,
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 29, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 19,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::PKHTB),
                     MVT::i32, 5, 0, 1, 3, 4, 5,
    29, TARGET_VAL(ISD::SRL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 54,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::PKHTB),
                     MVT::i32, 5, 0, 1, 3, 4, 5,
    0,
   44,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 60,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2PKHBT),
                    MVT::i32, 5, 0, 1, 3, 4, 5,
   120,
    OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15,
    OPC_Scope, 71,
     OPC_RecordChild0,
     OPC_MoveSibling1,
     OPC_CheckAndImm, 127|128,127|128,3,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 28, TARGET_VAL(ISD::SRA),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate5,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2PKHTB),
                      MVT::i32, 5, 0, 1, 3, 4, 5,
     28, TARGET_VAL(ISD::SRL),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 54,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate5,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2PKHTB),
                      MVT::i32, 5, 0, 1, 3, 4, 5,
     0,
    39,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 60,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckAndImm, 127|128,127|128,3,
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::PKHBT),
                     MVT::i32, 5, 2, 0, 3, 4, 5,
    0,
   45,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 19,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15,
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::PKHTB),
                    MVT::i32, 5, 2, 0, 3, 4, 5,
   44,
    OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 60,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2PKHBT),
                    MVT::i32, 5, 2, 0, 3, 4, 5,
   106,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 36, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 19,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15,
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate5,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2PKHTB),
                     MVT::i32, 5, 2, 0, 3, 4, 5,
    57, TARGET_VAL(ISD::SRL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 54,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15,
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::PKHTB),
                      MVT::i32, 5, 2, 0, 3, 4, 5,
     16,
      OPC_CheckPatternPredicate5,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2PKHTB),
                      MVT::i32, 5, 2, 0, 3, 4, 5,
     0,
    0,
   0,
  30,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat6, /*#*/1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ORNrs),
                   MVT::i32, 6, 0, 2, 3, 4, 5, 6,
  62|128,4,
   OPC_MoveChild0,
   OPC_Scope, 29,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat6, /*#*/0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ORNrs),
                    MVT::i32, 6, 1, 2, 3, 4, 5, 6,
   54,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15,
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::PKHBT),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    17,
     OPC_CheckPatternPredicate5,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2PKHBT),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    0,
   54,
    OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15,
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::PKHBT),
                     MVT::i32, 5, 1, 0, 2, 3, 4,
    17,
     OPC_CheckPatternPredicate5,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2PKHBT),
                     MVT::i32, 5, 1, 0, 2, 3, 4,
    0,
   37,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 49,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::PKHBT),
                    MVT::i32, 5, 0, 1, 3, 4, 5,
   72,
    OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15,
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_SwitchOpcode , 28, TARGET_VAL(ISD::SRL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 70,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::PKHTB),
                     MVT::i32, 5, 0, 1, 3, 4, 5,
    28, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 49,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::PKHTB),
                     MVT::i32, 5, 0, 1, 3, 4, 5,
    0,
   36,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 49,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2PKHBT),
                    MVT::i32, 5, 0, 1, 3, 4, 5,
   70,
    OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15,
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_SwitchOpcode , 27, TARGET_VAL(ISD::SRL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 70,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate5,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2PKHTB),
                     MVT::i32, 5, 0, 1, 3, 4, 5,
    27, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 49,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate5,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2PKHTB),
                     MVT::i32, 5, 0, 1, 3, 4, 5,
    0,
   57,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 49,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::PKHBT),
                     MVT::i32, 5, 2, 0, 3, 4, 5,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2PKHBT),
                     MVT::i32, 5, 2, 0, 3, 4, 5,
    0,
   59,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 70,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15,
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::PKHTB),
                     MVT::i32, 5, 2, 0, 3, 4, 5,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2PKHTB),
                     MVT::i32, 5, 2, 0, 3, 4, 5,
    0,
   59,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 49,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15,
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::PKHTB),
                     MVT::i32, 5, 2, 0, 3, 4, 5,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2PKHTB),
                     MVT::i32, 5, 2, 0, 3, 4, 5,
    0,
   33,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 85,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 0, 2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MOVTi16),
                    MVT::i32, 4, 0, 3, 4, 5,
   0,
  24,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::ORRrsr),
                   MVT::i32, 7, 0, 2, 3, 4, 5, 6, 7,
  34,
   OPC_MoveChild0,
   OPC_CheckAndImm, 127|128,127|128,3,
   OPC_RecordChild0,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_CheckPredicate, 85,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 42,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 0, 2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2MOVTi16),
                   MVT::i32, 4, 0, 3, 4, 5,
  97,
   OPC_RecordChild0,
   OPC_Scope, 34,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ORNri),
                    MVT::i32, 5, 0, 2, 3, 4, 5,
   23,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat3, /*#*/0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::ORRrsr),
                    MVT::i32, 7, 1, 2, 3, 4, 5, 6, 7,
   34,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_CheckChild0Integer, 127,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ORNri),
                    MVT::i32, 5, 0, 2, 3, 4, 5,
   0,
  70,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 31,
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ORNri),
                    MVT::i32, 5, 1, 2, 3, 4, 5,
   31,
    OPC_CheckChild0Integer, 127,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ORNri),
                    MVT::i32, 5, 1, 2, 3, 4, 5,
   0,
  105|128,1,
   OPC_RecordChild0,
   OPC_Scope, 73|128,1,
    OPC_RecordChild1,
    OPC_Scope, 109,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 26,
      OPC_CheckPredicate, 28,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 12,
      OPC_CheckComplexPat, /*CP*/24, /*#*/0,
      OPC_EmitRegisterI32, ARM::CPSR,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::tADDi3),
                      MVT::i32, 5, 3, 2, 4, 5, 6,
     26,
      OPC_CheckPredicate, 86,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 12,
      OPC_CheckComplexPat, /*CP*/24, /*#*/0,
      OPC_EmitRegisterI32, ARM::CPSR,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::tADDi8),
                      MVT::i32, 5, 3, 2, 4, 5, 6,
     25,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat, /*CP*/24, /*#*/0,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ADDri),
                      MVT::i32, 5, 2, 3, 4, 5, 6,
     22,
      OPC_CheckPredicate, 71,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat, /*CP*/24, /*#*/0,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ADDri12),
                      MVT::i32, 4, 2, 3, 4, 5,
     0,
    87,
     OPC_CheckTypeI32,
     OPC_Scope, 20,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::ORRrsi),
                      MVT::i32, 6, 0, 2, 3, 4, 5, 6,
     20,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat6, /*#*/1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ORRrs),
                      MVT::i32, 6, 0, 2, 3, 4, 5, 6,
     20,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat4, /*#*/0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::ORRrsi),
                      MVT::i32, 6, 1, 2, 3, 4, 5, 6,
     20,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat6, /*#*/0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ORRrs),
                      MVT::i32, 6, 1, 2, 3, 4, 5, 6,
     0,
    0,
   26,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ORNrr),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   0,
  27,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate4,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ORNrr),
                   MVT::i32, 5, 1, 0, 2, 3, 4,
  104,
   OPC_RecordChild0,
   OPC_Scope, 26,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckPredicate, 87,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat, /*CP*/24, /*#*/0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ADDrr),
                    MVT::i32, 5, 2, 1, 3, 4, 5,
   26,
    OPC_MoveChild0,
    OPC_CheckPredicate, 87,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat, /*CP*/24, /*#*/1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ADDrr),
                    MVT::i32, 5, 2, 0, 3, 4, 5,
   46,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 12,
    OPC_Scope, 19,
     OPC_CheckComplexPat, /*CP*/24, /*#*/0,
     OPC_EmitRegisterI32, ARM::CPSR,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::tADDrr),
                     MVT::i32, 5, 3, 2, 1, 4, 5,
    19,
     OPC_CheckComplexPat, /*CP*/24, /*#*/1,
     OPC_EmitRegisterI32, ARM::CPSR,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::tADDrr),
                     MVT::i32, 5, 3, 2, 0, 4, 5,
    0,
   0,
  49,
   OPC_CheckOrImm, 0|128,0|128,124|128,127|128,15,
   OPC_RecordChild0,
   OPC_CheckTypeI32,
   OPC_Scope, 19,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitIntegerI32, 127|128,127|128,3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MOVTi16),
                    MVT::i32, 4, 0, 1, 2, 3,
   18,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, 127|128,127|128,3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2MOVTi16),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  14|128,1,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 78,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 22,
     OPC_CheckPredicate, 20,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate3,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::ORRri),
                     MVT::i32, 5, 0, 2, 3, 4, 5,
    22,
     OPC_CheckPredicate, 13,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ORRri),
                     MVT::i32, 5, 0, 2, 3, 4, 5,
    25,
     OPC_CheckPredicate, 55,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 1, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ORNri),
                     MVT::i32, 5, 0, 3, 4, 5, 6,
    0,
   58,
    OPC_CheckTypeI32,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::ORRrr),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    18,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitRegisterI32, ARM::CPSR,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::tORR),
                     MVT::i32, 5, 2, 0, 1, 3, 4,
    17,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ORRrr),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    0,
   0,
  59|128,37,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 73|128,4,
    OPC_RecordChild0,
    OPC_Scope, 52|128,3,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 51|128,1,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 5|128,1,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_SwitchType , 57, MVT::v8i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_SwitchType , 15, MVT::v4i16,
         OPC_CheckPatternPredicate1,
         OPC_EmitIntegerI32, 14,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                         MVT::v4i16, 5, 1, 0, 2, 3, 4,
        15, MVT::v2i32,
         OPC_CheckPatternPredicate1,
         OPC_EmitIntegerI32, 14,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                         MVT::v2i32, 5, 1, 0, 2, 3, 4,
        15, MVT::v1i64,
         OPC_CheckPatternPredicate1,
         OPC_EmitIntegerI32, 14,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                         MVT::v1i64, 5, 1, 0, 2, 3, 4,
        0,
       57, MVT::v16i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_SwitchType , 15, MVT::v8i16,
         OPC_CheckPatternPredicate1,
         OPC_EmitIntegerI32, 14,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                         MVT::v8i16, 5, 1, 0, 2, 3, 4,
        15, MVT::v4i32,
         OPC_CheckPatternPredicate1,
         OPC_EmitIntegerI32, 14,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                         MVT::v4i32, 5, 1, 0, 2, 3, 4,
        15, MVT::v2i64,
         OPC_CheckPatternPredicate1,
         OPC_EmitIntegerI32, 14,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                         MVT::v2i64, 5, 1, 0, 2, 3, 4,
        0,
       0,
      36,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v4i16, 5, 1, 0, 2, 3, 4,
      0,
     82,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 37,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v4i16, 5, 1, 0, 2, 3, 4,
      37,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v4i16, 5, 1, 0, 2, 3, 4,
      0,
     81,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 36,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v4i16, 5, 0, 1, 2, 3, 4,
      36,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v4i16, 5, 0, 1, 2, 3, 4,
      0,
     82,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 37,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v4i16, 5, 0, 1, 2, 3, 4,
      37,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v4i16, 5, 0, 1, 2, 3, 4,
      0,
     0,
    14|128,1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 67,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,29,
      OPC_CheckType, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 21,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v4i16, 5, 1, 2, 0, 3, 4,
      21,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v4i16, 5, 1, 2, 0, 3, 4,
      0,
     67,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,29,
      OPC_CheckType, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 21,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v4i16, 5, 1, 2, 0, 3, 4,
      21,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v4i16, 5, 1, 2, 0, 3, 4,
      0,
     0,
    0,
   16|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 68,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_CheckType, MVT::v8i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 21,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                      MVT::v4i16, 5, 0, 2, 1, 3, 4,
     21,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                      MVT::v4i16, 5, 0, 2, 1, 3, 4,
     0,
    68,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_CheckType, MVT::v8i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 21,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                      MVT::v4i16, 5, 0, 2, 1, 3, 4,
     21,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                      MVT::v4i16, 5, 0, 2, 1, 3, 4,
     0,
    0,
   62|128,3,
    OPC_RecordChild0,
    OPC_Scope, 41|128,2,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 41,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,29,
      OPC_CheckType, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                      MVT::v2i32, 5, 1, 0, 2, 3, 4,
     82,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 37,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v2i32, 5, 1, 0, 2, 3, 4,
      37,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v2i32, 5, 1, 0, 2, 3, 4,
      0,
     81,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 36,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v2i32, 5, 0, 1, 2, 3, 4,
      36,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v2i32, 5, 0, 1, 2, 3, 4,
      0,
     82,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 37,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v2i32, 5, 0, 1, 2, 3, 4,
      37,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v2i32, 5, 0, 1, 2, 3, 4,
      0,
     0,
    14|128,1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 67,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,29,
      OPC_CheckType, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 21,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v2i32, 5, 1, 2, 0, 3, 4,
      21,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v2i32, 5, 1, 2, 0, 3, 4,
      0,
     67,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,29,
      OPC_CheckType, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 21,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v2i32, 5, 1, 2, 0, 3, 4,
      21,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v2i32, 5, 1, 2, 0, 3, 4,
      0,
     0,
    0,
   16|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 68,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_CheckType, MVT::v8i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 21,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                      MVT::v2i32, 5, 0, 2, 1, 3, 4,
     21,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                      MVT::v2i32, 5, 0, 2, 1, 3, 4,
     0,
    68,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_CheckType, MVT::v8i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 21,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                      MVT::v2i32, 5, 0, 2, 1, 3, 4,
     21,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                      MVT::v2i32, 5, 0, 2, 1, 3, 4,
     0,
    0,
   62|128,3,
    OPC_RecordChild0,
    OPC_Scope, 41|128,2,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 41,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,29,
      OPC_CheckType, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                      MVT::v1i64, 5, 1, 0, 2, 3, 4,
     82,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 37,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v1i64, 5, 1, 0, 2, 3, 4,
      37,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v1i64, 5, 1, 0, 2, 3, 4,
      0,
     81,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 36,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v1i64, 5, 0, 1, 2, 3, 4,
      36,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v1i64, 5, 0, 1, 2, 3, 4,
      0,
     82,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 37,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v1i64, 5, 0, 1, 2, 3, 4,
      37,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v1i64, 5, 0, 1, 2, 3, 4,
      0,
     0,
    14|128,1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 67,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,29,
      OPC_CheckType, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 21,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v1i64, 5, 1, 2, 0, 3, 4,
      21,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v1i64, 5, 1, 2, 0, 3, 4,
      0,
     67,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,29,
      OPC_CheckType, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 21,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v1i64, 5, 1, 2, 0, 3, 4,
      21,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v1i64, 5, 1, 2, 0, 3, 4,
      0,
     0,
    0,
   16|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 68,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_CheckType, MVT::v8i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 21,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                      MVT::v1i64, 5, 0, 2, 1, 3, 4,
     21,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                      MVT::v1i64, 5, 0, 2, 1, 3, 4,
     0,
    68,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_CheckType, MVT::v8i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 21,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                      MVT::v1i64, 5, 0, 2, 1, 3, 4,
     21,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                      MVT::v1i64, 5, 0, 2, 1, 3, 4,
     0,
    0,
   62|128,3,
    OPC_RecordChild0,
    OPC_Scope, 41|128,2,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 41,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,29,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                      MVT::v8i16, 5, 1, 0, 2, 3, 4,
     82,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 37,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v8i16, 5, 1, 0, 2, 3, 4,
      37,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v8i16, 5, 1, 0, 2, 3, 4,
      0,
     81,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 36,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v8i16, 5, 0, 1, 2, 3, 4,
      36,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v8i16, 5, 0, 1, 2, 3, 4,
      0,
     82,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 37,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v8i16, 5, 0, 1, 2, 3, 4,
      37,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v8i16, 5, 0, 1, 2, 3, 4,
      0,
     0,
    14|128,1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 67,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,29,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 21,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v8i16, 5, 1, 2, 0, 3, 4,
      21,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v8i16, 5, 1, 2, 0, 3, 4,
      0,
     67,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,29,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 21,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v8i16, 5, 1, 2, 0, 3, 4,
      21,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v8i16, 5, 1, 2, 0, 3, 4,
      0,
     0,
    0,
   16|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 68,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 21,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                      MVT::v8i16, 5, 0, 2, 1, 3, 4,
     21,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                      MVT::v8i16, 5, 0, 2, 1, 3, 4,
     0,
    68,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 21,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                      MVT::v8i16, 5, 0, 2, 1, 3, 4,
     21,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                      MVT::v8i16, 5, 0, 2, 1, 3, 4,
     0,
    0,
   62|128,3,
    OPC_RecordChild0,
    OPC_Scope, 41|128,2,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 41,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,29,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                      MVT::v4i32, 5, 1, 0, 2, 3, 4,
     82,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 37,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v4i32, 5, 1, 0, 2, 3, 4,
      37,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v4i32, 5, 1, 0, 2, 3, 4,
      0,
     81,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 36,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v4i32, 5, 0, 1, 2, 3, 4,
      36,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v4i32, 5, 0, 1, 2, 3, 4,
      0,
     82,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 37,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v4i32, 5, 0, 1, 2, 3, 4,
      37,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v4i32, 5, 0, 1, 2, 3, 4,
      0,
     0,
    14|128,1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 67,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,29,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 21,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v4i32, 5, 1, 2, 0, 3, 4,
      21,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v4i32, 5, 1, 2, 0, 3, 4,
      0,
     67,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,29,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 21,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v4i32, 5, 1, 2, 0, 3, 4,
      21,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v4i32, 5, 1, 2, 0, 3, 4,
      0,
     0,
    0,
   16|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 68,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 21,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                      MVT::v4i32, 5, 0, 2, 1, 3, 4,
     21,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                      MVT::v4i32, 5, 0, 2, 1, 3, 4,
     0,
    68,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 21,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                      MVT::v4i32, 5, 0, 2, 1, 3, 4,
     21,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                      MVT::v4i32, 5, 0, 2, 1, 3, 4,
     0,
    0,
   62|128,3,
    OPC_RecordChild0,
    OPC_Scope, 41|128,2,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 41,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,29,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                      MVT::v2i64, 5, 1, 0, 2, 3, 4,
     82,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 37,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v2i64, 5, 1, 0, 2, 3, 4,
      37,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v2i64, 5, 1, 0, 2, 3, 4,
      0,
     81,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 36,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v2i64, 5, 0, 1, 2, 3, 4,
      36,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v2i64, 5, 0, 1, 2, 3, 4,
      0,
     82,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 37,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v2i64, 5, 0, 1, 2, 3, 4,
      37,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v2i64, 5, 0, 1, 2, 3, 4,
      0,
     0,
    14|128,1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 67,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,29,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 21,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v2i64, 5, 1, 2, 0, 3, 4,
      21,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v2i64, 5, 1, 2, 0, 3, 4,
      0,
     67,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,29,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 21,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v2i64, 5, 1, 2, 0, 3, 4,
      21,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v2i64, 5, 1, 2, 0, 3, 4,
      0,
     0,
    0,
   16|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 68,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 21,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                      MVT::v2i64, 5, 0, 2, 1, 3, 4,
     21,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                      MVT::v2i64, 5, 0, 2, 1, 3, 4,
     0,
    68,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 21,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                      MVT::v2i64, 5, 0, 2, 1, 3, 4,
     21,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                      MVT::v2i64, 5, 0, 2, 1, 3, 4,
     0,
    0,
   51|128,3,
    OPC_RecordChild0,
    OPC_Scope, 44|128,2,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 86,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 48,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_SwitchType , 15, MVT::v8i8,
        OPC_CheckPatternPredicate1,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                        MVT::v8i8, 5, 1, 0, 2, 3, 4,
       15, MVT::v16i8,
        OPC_CheckPatternPredicate1,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                        MVT::v16i8, 5, 1, 0, 2, 3, 4,
       0,
      29,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v8i8, 5, 1, 0, 2, 3, 4,
      0,
     68,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 30,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v8i8, 5, 1, 0, 2, 3, 4,
      30,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v8i8, 5, 1, 0, 2, 3, 4,
      0,
     67,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 29,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v8i8, 5, 0, 1, 2, 3, 4,
      29,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v8i8, 5, 0, 1, 2, 3, 4,
      0,
     68,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 30,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v8i8, 5, 0, 1, 2, 3, 4,
      30,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v8i8, 5, 0, 1, 2, 3, 4,
      0,
     0,
    0|128,1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 60,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,29,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 21,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v8i8, 5, 1, 2, 0, 3, 4,
      21,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v8i8, 5, 1, 2, 0, 3, 4,
      0,
     60,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,29,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 21,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v8i8, 5, 1, 2, 0, 3, 4,
      21,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                       MVT::v8i8, 5, 1, 2, 0, 3, 4,
      0,
     0,
    0,
   2|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 61,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 21,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                      MVT::v8i8, 5, 0, 2, 1, 3, 4,
     21,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                      MVT::v8i8, 5, 0, 2, 1, 3, 4,
     0,
    61,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 21,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                      MVT::v8i8, 5, 0, 2, 1, 3, 4,
     21,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                      MVT::v8i8, 5, 0, 2, 1, 3, 4,
     0,
    0,
   127|128,2,
    OPC_RecordChild0,
    OPC_Scope, 120|128,1,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 34,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,29,
      OPC_MoveParent,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                      MVT::v16i8, 5, 1, 0, 2, 3, 4,
     68,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 30,
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v16i8, 5, 1, 0, 2, 3, 4,
      30,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v16i8, 5, 1, 0, 2, 3, 4,
      0,
     67,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 29,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v16i8, 5, 0, 1, 2, 3, 4,
      29,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v16i8, 5, 0, 1, 2, 3, 4,
      0,
     68,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 30,
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v16i8, 5, 0, 1, 2, 3, 4,
      30,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,29,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v16i8, 5, 0, 1, 2, 3, 4,
      0,
     0,
    0|128,1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 60,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,29,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 21,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v16i8, 5, 1, 2, 0, 3, 4,
      21,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v16i8, 5, 1, 2, 0, 3, 4,
      0,
     60,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,29,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 21,
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v16i8, 5, 1, 2, 0, 3, 4,
      21,
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                       MVT::v16i8, 5, 1, 2, 0, 3, 4,
      0,
     0,
    0,
   2|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 61,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 21,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                      MVT::v16i8, 5, 0, 2, 1, 3, 4,
     21,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                      MVT::v16i8, 5, 0, 2, 1, 3, 4,
     0,
    61,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 21,
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                      MVT::v16i8, 5, 0, 2, 1, 3, 4,
     21,
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                      MVT::v16i8, 5, 0, 2, 1, 3, 4,
     0,
    0,
   0,
  76|128,2,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 116|128,1, TARGET_VAL(ISD::XOR),
    OPC_Scope, 78|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_SwitchType , 53, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 14, MVT::v2i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNd),
                       MVT::v2i32, 4, 0, 1, 2, 3,
      14, MVT::v4i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNd),
                       MVT::v4i16, 4, 0, 1, 2, 3,
      14, MVT::v1i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNd),
                       MVT::v1i64, 4, 0, 1, 2, 3,
      0,
     6|128,1, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 41, MVT::v4i32,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate1,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNq),
                        MVT::v4i32, 4, 0, 1, 2, 3,
       23,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v4i32, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                        MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
       0,
      41, MVT::v8i16,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate1,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNq),
                        MVT::v8i16, 4, 0, 1, 2, 3,
       23,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v4i32, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                        MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
       0,
      41, MVT::v2i64,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate1,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNq),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       23,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v4i32, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                        MVT::v2i64, 6, 0, 1, 2, 3, 4, 5,
       0,
      0,
     0,
    33,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_CheckType, MVT::v8i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNd),
                     MVT::v2i32, 4, 0, 1, 2, 3,
    0,
   77, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_Scope, 36,
     OPC_CheckChild0Type, MVT::v16i1,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORR),
                     MVT::v16i8, 6, 0, 2, 3, 1, 4, 0,
    36,
     OPC_CheckChild0Type, MVT::v8i1,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORR),
                     MVT::v8i16, 6, 0, 2, 3, 1, 4, 0,
    0,
   0,
  76,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 34,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v8i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNd),
                    MVT::v2i32, 4, 1, 0, 2, 3,
   34,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v8i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNd),
                    MVT::v2i32, 4, 1, 0, 2, 3,
   0,
  38,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 127|128,29,
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNq),
                   MVT::v4i32, 4, 0, 1, 2, 3,
  76,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 34,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNq),
                    MVT::v4i32, 4, 1, 0, 2, 3,
   34,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNq),
                    MVT::v4i32, 4, 1, 0, 2, 3,
   0,
  38,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 127|128,29,
   OPC_CheckType, MVT::v8i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNd),
                   MVT::v4i16, 4, 0, 1, 2, 3,
  76,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 34,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v8i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNd),
                    MVT::v4i16, 4, 1, 0, 2, 3,
   34,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v8i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNd),
                    MVT::v4i16, 4, 1, 0, 2, 3,
   0,
  38,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 127|128,29,
   OPC_CheckType, MVT::v8i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v1i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNd),
                   MVT::v1i64, 4, 0, 1, 2, 3,
  76,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 34,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v8i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNd),
                    MVT::v1i64, 4, 1, 0, 2, 3,
   34,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v8i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNd),
                    MVT::v1i64, 4, 1, 0, 2, 3,
   0,
  38,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 127|128,29,
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNq),
                   MVT::v8i16, 4, 0, 1, 2, 3,
  76,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 34,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNq),
                    MVT::v8i16, 4, 1, 0, 2, 3,
   34,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNq),
                    MVT::v8i16, 4, 1, 0, 2, 3,
   0,
  38,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 127|128,29,
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNq),
                   MVT::v2i64, 4, 0, 1, 2, 3,
  32|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 72, TARGET_VAL(ISD::XOR),
    OPC_Scope, 34,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNq),
                     MVT::v2i64, 4, 1, 0, 2, 3,
    34,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNq),
                     MVT::v2i64, 4, 1, 0, 2, 3,
    0,
   79, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_Scope, 37,
     OPC_CheckChild0Type, MVT::v16i1,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORR),
                     MVT::v16i8, 6, 2, 1, 3, 0, 4, 2,
    37,
     OPC_CheckChild0Type, MVT::v8i1,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORR),
                     MVT::v8i16, 6, 2, 1, 3, 0, 4, 2,
    0,
   0,
  47,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 127|128,29,
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                   MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
  94,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 43,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                    MVT::v8i16, 6, 1, 0, 2, 3, 4, 5,
   43,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                    MVT::v8i16, 6, 1, 0, 2, 3, 4, 5,
   0,
  47,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 127|128,29,
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                   MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
  94,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 43,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                    MVT::v4i32, 6, 1, 0, 2, 3, 4, 5,
   43,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                    MVT::v4i32, 6, 1, 0, 2, 3, 4, 5,
   0,
  47,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 127|128,29,
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                   MVT::v2i64, 6, 0, 1, 2, 3, 4, 5,
  94,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 43,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                    MVT::v2i64, 6, 1, 0, 2, 3, 4, 5,
   43,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                    MVT::v2i64, 6, 1, 0, 2, 3, 4, 5,
   0,
  13|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 101, TARGET_VAL(ISD::XOR),
    OPC_Scope, 71,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 14, MVT::v8i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNd),
                      MVT::v8i8, 4, 0, 1, 2, 3,
     41, MVT::v16i8,
      OPC_Scope, 14,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNq),
                       MVT::v16i8, 4, 0, 1, 2, 3,
      23,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                       MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
      0,
     0,
    26,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNd),
                     MVT::v8i8, 4, 0, 1, 2, 3,
    0,
   30, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORR),
                    MVT::v4i32, 6, 0, 2, 3, 1, 4, 0,
   0,
  62,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 27,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNd),
                    MVT::v8i8, 4, 1, 0, 2, 3,
   27,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNd),
                    MVT::v8i8, 4, 1, 0, 2, 3,
   0,
  31,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 127|128,29,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNq),
                   MVT::v16i8, 4, 0, 1, 2, 3,
  98,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 58, TARGET_VAL(ISD::XOR),
    OPC_Scope, 27,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNq),
                     MVT::v16i8, 4, 1, 0, 2, 3,
    27,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORNq),
                     MVT::v16i8, 4, 1, 0, 2, 3,
    0,
   31, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORR),
                    MVT::v4i32, 6, 2, 1, 3, 0, 4, 2,
   0,
  40,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 127|128,29,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                   MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
  80,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 36,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                    MVT::v16i8, 6, 1, 0, 2, 3, 4, 5,
   36,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                    MVT::v16i8, 6, 1, 0, 2, 3, 4, 5,
   0,
  40|128,3,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 14, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORRd),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   41, MVT::v4i32,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORRq),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORR),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    0,
   14, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORRd),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   14, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORRd),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   14, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORRd),
                    MVT::v1i64, 4, 0, 1, 2, 3,
   41, MVT::v16i8,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORRq),
                     MVT::v16i8, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORR),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    0,
   41, MVT::v8i16,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORRq),
                     MVT::v8i16, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORR),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    0,
   41, MVT::v2i64,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORRq),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORR),
                     MVT::v2i64, 6, 0, 1, 2, 3, 4, 5,
    0,
   44, MVT::v16i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 2,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 1, 4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::t2ORRrr),
                    MVT::i32, 5, 3, 5, 6, 7, 8,
    OPC_EmitIntegerI32, ARM::VCCRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i1, 2, 9, 10,
   44, MVT::v8i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 2,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 1, 4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::t2ORRrr),
                    MVT::i32, 5, 3, 5, 6, 7, 8,
    OPC_EmitIntegerI32, ARM::VCCRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i1, 2, 9, 10,
   44, MVT::v4i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 2,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 1, 4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::t2ORRrr),
                    MVT::i32, 5, 3, 5, 6, 7, 8,
    OPC_EmitIntegerI32, ARM::VCCRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i1, 2, 9, 10,
   44, MVT::v2i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 2,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 1, 4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::t2ORRrr),
                    MVT::i32, 5, 3, 5, 6, 7, 8,
    OPC_EmitIntegerI32, ARM::VCCRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i1, 2, 9, 10,
   0,
  0,
 97|128,97, TARGET_VAL(ISD::ADD),
  OPC_Scope, 68|128,2,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_Scope, 39,
    OPC_CheckAndImm, 127|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UXTAB),
                    MVT::i32, 5, 0, 1, 4, 5, 6,
   40,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UXTAH),
                    MVT::i32, 5, 0, 1, 4, 5, 6,
   39,
    OPC_CheckAndImm, 127|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UXTAB),
                    MVT::i32, 5, 0, 1, 4, 5, 6,
   40,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 44,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UXTAH),
                    MVT::i32, 5, 0, 1, 4, 5, 6,
   38,
    OPC_CheckAndImm, 127|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UXTAB),
                    MVT::i32, 5, 0, 1, 4, 5, 6,
   39,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UXTAH),
                    MVT::i32, 5, 0, 1, 4, 5, 6,
   38,
    OPC_CheckAndImm, 127|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UXTAB),
                    MVT::i32, 5, 0, 1, 4, 5, 6,
   39,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 44,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UXTAH),
                    MVT::i32, 5, 0, 1, 4, 5, 6,
   0,
  75|128,2,
   OPC_MoveChild0,
   OPC_Scope, 40,
    OPC_CheckAndImm, 127|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UXTAB),
                    MVT::i32, 5, 2, 0, 4, 5, 6,
   41,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UXTAH),
                    MVT::i32, 5, 2, 0, 4, 5, 6,
   40,
    OPC_CheckAndImm, 127|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UXTAB),
                    MVT::i32, 5, 2, 0, 4, 5, 6,
   41,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 44,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UXTAH),
                    MVT::i32, 5, 2, 0, 4, 5, 6,
   39,
    OPC_CheckAndImm, 127|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UXTAB),
                    MVT::i32, 5, 2, 0, 4, 5, 6,
   40,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UXTAH),
                    MVT::i32, 5, 2, 0, 4, 5, 6,
   39,
    OPC_CheckAndImm, 127|128,1,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UXTAB),
                    MVT::i32, 5, 2, 0, 4, 5, 6,
   40,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 44,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UXTAH),
                    MVT::i32, 5, 2, 0, 4, 5, 6,
   0,
  104,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_Scope, 24,
    OPC_CheckAndImm, 127|128,1,
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UXTAB),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   25,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UXTAH),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   23,
    OPC_CheckAndImm, 127|128,1,
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UXTAB),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   24,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UXTAH),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   0,
  107,
   OPC_MoveChild0,
   OPC_Scope, 25,
    OPC_CheckAndImm, 127|128,1,
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UXTAB),
                    MVT::i32, 5, 1, 0, 2, 3, 4,
   26,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UXTAH),
                    MVT::i32, 5, 1, 0, 2, 3, 4,
   24,
    OPC_CheckAndImm, 127|128,1,
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UXTAB),
                    MVT::i32, 5, 1, 0, 2, 3, 4,
   25,
    OPC_CheckAndImm, 127|128,127|128,3,
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UXTAH),
                    MVT::i32, 5, 1, 0, 2, 3, 4,
   0,
  86,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 34, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 24,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_CheckChild0Same, 1,
    OPC_CheckChild1Integer, 8,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTAH),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   34, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 8,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    OPC_CheckChild0Same, 1,
    OPC_CheckChild1Integer, 24,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTAH),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   0,
  61|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 83, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 35, TARGET_VAL(ISD::SRL),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 24,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 8,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate5,
     OPC_EmitIntegerI32, 3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTAH),
                     MVT::i32, 5, 1, 0, 2, 3, 4,
    35, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 24,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate5,
     OPC_EmitIntegerI32, 3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTAH),
                     MVT::i32, 5, 1, 0, 2, 3, 4,
    0,
   97, TARGET_VAL(ISD::VECREDUCE_ADD),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_Scope, 44,
     OPC_CheckChild0Type, MVT::v8i1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau16),
                     MVT::i32, 6, 3, 1, 2, 4, 0, 5,
    44,
     OPC_CheckChild0Type, MVT::v16i1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau8),
                     MVT::i32, 6, 3, 1, 2, 4, 0, 5,
    0,
   0,
  30|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 95, TARGET_VAL(ISD::VECREDUCE_ADD),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_Scope, 43,
     OPC_CheckChild0Type, MVT::v8i1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau16),
                     MVT::i32, 6, 0, 2, 3, 4, 1, 5,
    43,
     OPC_CheckChild0Type, MVT::v16i1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau8),
                     MVT::i32, 6, 0, 2, 3, 4, 1, 5,
    0,
   53, TARGET_VAL(ISD::MUL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 16,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate, 35,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLATT),
                     MVT::i32, 5, 1, 2, 0, 3, 4,
    16,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLATT),
                     MVT::i32, 5, 1, 2, 0, 3, 4,
    0,
   0,
  58|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 54, TARGET_VAL(ISD::MUL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 16,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate, 35,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLATT),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    16,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLATT),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    0,
   123, TARGET_VAL(ISD::VECREDUCE_ADD),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_Scope, 38,
     OPC_CheckChild0Type, MVT::v16i1,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu8acc),
                     MVT::i32, 5, 2, 1, 3, 0, 4,
    38,
     OPC_CheckChild0Type, MVT::v8i1,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu16acc),
                     MVT::i32, 5, 2, 1, 3, 0, 4,
    37,
     OPC_CheckChild0Type, MVT::v4i1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau32),
                     MVT::i32, 6, 3, 1, 2, 4, 0, 5,
    0,
   0,
  111|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 120, TARGET_VAL(ISD::VECREDUCE_ADD),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_Scope, 37,
     OPC_CheckChild0Type, MVT::v16i1,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu8acc),
                     MVT::i32, 5, 0, 2, 3, 1, 4,
    37,
     OPC_CheckChild0Type, MVT::v8i1,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu16acc),
                     MVT::i32, 5, 0, 2, 3, 1, 4,
    36,
     OPC_CheckChild0Type, MVT::v4i1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau32),
                     MVT::i32, 6, 0, 2, 3, 4, 1, 5,
    0,
   109, TARGET_VAL(ISD::MUL),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 50, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_Scope, 16,
      OPC_CheckPatternPredicate, 35,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLABT),
                      MVT::i32, 5, 1, 2, 0, 3, 4,
     16,
      OPC_CheckPatternPredicate, 28,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLABT),
                      MVT::i32, 5, 1, 2, 0, 3, 4,
     0,
    50, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_Scope, 16,
      OPC_CheckPatternPredicate, 35,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLATB),
                      MVT::i32, 5, 1, 2, 0, 3, 4,
     16,
      OPC_CheckPatternPredicate, 28,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLATB),
                      MVT::i32, 5, 1, 2, 0, 3, 4,
     0,
    0,
   0,
  28|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 36, TARGET_VAL(ISD::VECREDUCE_ADD),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 0,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu32acc),
                    MVT::i32, 5, 2, 1, 3, 0, 4,
   111, TARGET_VAL(ISD::MUL),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 51, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_Scope, 16,
      OPC_CheckPatternPredicate, 35,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLABT),
                      MVT::i32, 5, 0, 1, 2, 3, 4,
     16,
      OPC_CheckPatternPredicate, 28,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLABT),
                      MVT::i32, 5, 0, 1, 2, 3, 4,
     0,
    51, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_Scope, 16,
      OPC_CheckPatternPredicate, 35,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLABT),
                      MVT::i32, 5, 1, 0, 2, 3, 4,
     16,
      OPC_CheckPatternPredicate, 28,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLABT),
                      MVT::i32, 5, 1, 0, 2, 3, 4,
     0,
    0,
   0,
  40,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::VECREDUCE_ADD),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v4i1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 0,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu32acc),
                   MVT::i32, 5, 0, 2, 3, 1, 4,
  35|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 45|128,29,
   OPC_RecordChild1,
   OPC_Scope, 50,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 22,
     OPC_CheckChild2Integer, 0,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs8acc),
                     MVT::i32, 5, 2, 0, 3, 1, 4,
    22,
     OPC_CheckChild2Integer, 1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu8acc),
                     MVT::i32, 5, 2, 0, 3, 1, 4,
    0,
   50,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 22,
     OPC_CheckChild2Integer, 0,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs16acc),
                     MVT::i32, 5, 2, 0, 3, 1, 4,
    22,
     OPC_CheckChild2Integer, 1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu16acc),
                     MVT::i32, 5, 2, 0, 3, 1, 4,
    0,
   50,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 22,
     OPC_CheckChild2Integer, 0,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs32acc),
                     MVT::i32, 5, 2, 0, 3, 1, 4,
    22,
     OPC_CheckChild2Integer, 1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu32acc),
                     MVT::i32, 5, 2, 0, 3, 1, 4,
    0,
   0,
  86|128,2,
   OPC_RecordChild0,
   OPC_Scope, 29|128,1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 45|128,29,
    OPC_RecordChild1,
    OPC_Scope, 48,
     OPC_CheckChild1Type, MVT::v16i8,
     OPC_Scope, 21,
      OPC_CheckChild2Integer, 0,
      OPC_RecordChild3,
      OPC_CheckChild3Type, MVT::v16i1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs8acc),
                      MVT::i32, 5, 0, 1, 3, 2, 4,
     21,
      OPC_CheckChild2Integer, 1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, MVT::v16i1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu8acc),
                      MVT::i32, 5, 0, 1, 3, 2, 4,
     0,
    48,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_Scope, 21,
      OPC_CheckChild2Integer, 0,
      OPC_RecordChild3,
      OPC_CheckChild3Type, MVT::v8i1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs16acc),
                      MVT::i32, 5, 0, 1, 3, 2, 4,
     21,
      OPC_CheckChild2Integer, 1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, MVT::v8i1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu16acc),
                      MVT::i32, 5, 0, 1, 3, 2, 4,
     0,
    48,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_Scope, 21,
      OPC_CheckChild2Integer, 0,
      OPC_RecordChild3,
      OPC_CheckChild3Type, MVT::v4i1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs32acc),
                      MVT::i32, 5, 0, 1, 3, 2, 4,
     21,
      OPC_CheckChild2Integer, 1,
      OPC_RecordChild3,
      OPC_CheckChild3Type, MVT::v4i1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu32acc),
                      MVT::i32, 5, 0, 1, 3, 2, 4,
     0,
    0,
   23,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::ADDrsr),
                    MVT::i32, 7, 0, 2, 3, 4, 5, 6, 7,
   2|128,1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    OPC_Scope, 30,
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckPredicate, 14,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 35,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLABT),
                     MVT::i32, 5, 1, 2, 0, 3, 4,
    30,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 16,
     OPC_MoveSibling1,
     OPC_RecordNode,
     OPC_CheckPredicate, 14,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 35,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLATB),
                     MVT::i32, 5, 1, 2, 0, 3, 4,
    30,
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckPredicate, 14,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLABT),
                     MVT::i32, 5, 1, 2, 0, 3, 4,
    30,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 16,
     OPC_MoveSibling1,
     OPC_RecordNode,
     OPC_CheckPredicate, 14,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLATB),
                     MVT::i32, 5, 1, 2, 0, 3, 4,
    0,
   23,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat3, /*#*/0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::ADDrsr),
                    MVT::i32, 7, 1, 2, 3, 4, 5, 6, 7,
   0,
  6|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_Scope, 31,
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckPredicate, 14,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLABT),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   31,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 16,
    OPC_MoveSibling1,
    OPC_RecordNode,
    OPC_CheckPredicate, 14,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLABT),
                    MVT::i32, 5, 1, 0, 2, 3, 4,
   31,
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckPredicate, 14,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 28,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLABT),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   31,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 16,
    OPC_MoveSibling1,
    OPC_RecordNode,
    OPC_CheckPredicate, 14,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 28,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLABT),
                    MVT::i32, 5, 1, 0, 2, 3, 4,
   0,
  34,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 24,
   OPC_MoveSibling1,
   OPC_CheckValueType, MVT::i16,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckPatternPredicate5,
   OPC_EmitIntegerI32, 3,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTAH),
                   MVT::i32, 5, 0, 1, 2, 3, 4,
  34,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 24,
   OPC_MoveSibling1,
   OPC_CheckValueType, MVT::i16,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate5,
   OPC_EmitIntegerI32, 3,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTAH),
                   MVT::i32, 5, 1, 0, 2, 3, 4,
  116|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 108, TARGET_VAL(ISD::ROTR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_Scope, 47,
     OPC_CheckValueType, MVT::i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_Scope, 20,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 2, 3,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::SXTAB),
                      MVT::i32, 5, 0, 1, 4, 5, 6,
     19,
      OPC_CheckPatternPredicate5,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 2, 3,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTAB),
                      MVT::i32, 5, 0, 1, 4, 5, 6,
     0,
    47,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_Scope, 20,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 2, 3,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::SXTAH),
                      MVT::i32, 5, 0, 1, 4, 5, 6,
     19,
      OPC_CheckPatternPredicate5,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 2, 3,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTAH),
                      MVT::i32, 5, 0, 1, 4, 5, 6,
     0,
    0,
   122, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 28,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 2, 3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SXTAB),
                     MVT::i32, 5, 0, 1, 4, 5, 6,
    28,
     OPC_CheckPredicate, 44,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 2, 3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SXTAH),
                     MVT::i32, 5, 0, 1, 4, 5, 6,
    27,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate5,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 2, 3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTAB),
                     MVT::i32, 5, 0, 1, 4, 5, 6,
    27,
     OPC_CheckPredicate, 44,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate5,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 2, 3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTAH),
                     MVT::i32, 5, 0, 1, 4, 5, 6,
    0,
   0,
  121|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 110, TARGET_VAL(ISD::ROTR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_Scope, 48,
     OPC_CheckValueType, MVT::i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_Scope, 20,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 2, 3,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::SXTAB),
                      MVT::i32, 5, 2, 0, 4, 5, 6,
     19,
      OPC_CheckPatternPredicate5,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 2, 3,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTAB),
                      MVT::i32, 5, 2, 0, 4, 5, 6,
     0,
    48,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_Scope, 20,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 2, 3,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::SXTAH),
                      MVT::i32, 5, 2, 0, 4, 5, 6,
     19,
      OPC_CheckPatternPredicate5,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 2, 3,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTAH),
                      MVT::i32, 5, 2, 0, 4, 5, 6,
     0,
    0,
   126, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 29,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 2, 3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SXTAB),
                     MVT::i32, 5, 2, 0, 4, 5, 6,
    29,
     OPC_CheckPredicate, 44,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 2, 3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SXTAH),
                     MVT::i32, 5, 2, 0, 4, 5, 6,
    28,
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate5,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 2, 3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTAB),
                     MVT::i32, 5, 2, 0, 4, 5, 6,
    28,
     OPC_CheckPredicate, 44,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate5,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 2, 3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTAH),
                     MVT::i32, 5, 2, 0, 4, 5, 6,
    0,
   0,
  26|128,1,
   OPC_RecordChild0,
   OPC_Scope, 22,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::ADDrsi),
                    MVT::i32, 6, 0, 2, 3, 4, 5, 6,
   40,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLABB),
                    MVT::i32, 5, 1, 2, 0, 3, 4,
   22,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ADDrs),
                    MVT::i32, 6, 0, 2, 3, 4, 5, 6,
   40,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 28,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLABB),
                    MVT::i32, 5, 1, 2, 0, 3, 4,
   22,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::ADDrsi),
                    MVT::i32, 6, 1, 2, 3, 4, 5, 6,
   0,
  41,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckValueType, MVT::i16,
   OPC_MoveParent,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckValueType, MVT::i16,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 35,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLABB),
                   MVT::i32, 5, 0, 1, 2, 3, 4,
  23,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat6, /*#*/0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ADDrs),
                   MVT::i32, 6, 1, 2, 3, 4, 5, 6,
  41,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckValueType, MVT::i16,
   OPC_MoveParent,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckValueType, MVT::i16,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 28,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLABB),
                   MVT::i32, 5, 0, 1, 2, 3, 4,
  91,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_Scope, 51,
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckPredicate, 14,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate, 35,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLABB),
                     MVT::i32, 5, 1, 2, 0, 3, 4,
    16,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLABB),
                     MVT::i32, 5, 1, 2, 0, 3, 4,
    0,
   31,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_RecordNode,
    OPC_CheckPredicate, 14,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLABB),
                    MVT::i32, 5, 2, 1, 0, 3, 4,
   0,
  72,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_Scope, 32,
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckPredicate, 14,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLABB),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   32,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_RecordNode,
    OPC_CheckPredicate, 14,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLABB),
                    MVT::i32, 5, 1, 0, 2, 3, 4,
   0,
  36,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckValueType, MVT::i16,
   OPC_MoveParent,
   OPC_MoveSibling1,
   OPC_RecordNode,
   OPC_CheckPredicate, 14,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 28,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLABB),
                   MVT::i32, 5, 2, 1, 0, 3, 4,
  29|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 68, TARGET_VAL(ISD::MUL),
    OPC_Scope, 32,
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckPredicate, 14,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLABB),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    32,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_RecordNode,
     OPC_CheckPredicate, 14,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 28,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLABB),
                     MVT::i32, 5, 1, 0, 2, 3, 4,
    0,
   80, TARGET_VAL(ISD::VECREDUCE_ADD),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_SwitchType , 22, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau32),
                     MVT::i32, 6, 2, 0, 1, 3, 4, 5,
    22, MVT::v8i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau16),
                     MVT::i32, 6, 2, 0, 1, 3, 4, 5,
    22, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau8),
                     MVT::i32, 6, 2, 0, 1, 3, 4, 5,
    0,
   0,
  52|128,1,
   OPC_RecordChild0,
   OPC_Scope, 113,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 77, TARGET_VAL(ISD::VECREDUCE_ADD),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_SwitchType , 21, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau32),
                      MVT::i32, 6, 0, 1, 2, 3, 4, 5,
     21, MVT::v8i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau16),
                      MVT::i32, 6, 0, 1, 2, 3, 4, 5,
     21, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau8),
                      MVT::i32, 6, 0, 1, 2, 3, 4, 5,
     0,
    27, TARGET_VAL(ISD::MUL),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckPredicate, 14,
     OPC_MoveSibling1,
     OPC_RecordNode,
     OPC_CheckPredicate, 14,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 35,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLABB),
                     MVT::i32, 5, 1, 2, 0, 3, 4,
    0,
   30,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 88,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 3, 2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SUBri),
                    MVT::i32, 5, 0, 3, 4, 5, 6,
   31,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckPredicate, 14,
    OPC_MoveSibling1,
    OPC_RecordNode,
    OPC_CheckPredicate, 14,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 28,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLABB),
                    MVT::i32, 5, 1, 2, 0, 3, 4,
   0,
  52,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckPredicate, 14,
   OPC_MoveSibling1,
   OPC_RecordNode,
   OPC_CheckPredicate, 14,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_Scope, 16,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLABB),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   16,
    OPC_CheckPatternPredicate, 28,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLABB),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   0,
  106|128,2,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 22,
    OPC_CheckPredicate, 20,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::ADDri),
                    MVT::i32, 5, 0, 2, 3, 4, 5,
   25,
    OPC_CheckPredicate, 61,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 3, 2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SUBri),
                    MVT::i32, 5, 0, 3, 4, 5, 6,
   23,
    OPC_CheckPredicate, 28,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 12,
    OPC_EmitRegisterI32, ARM::CPSR,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::tADDi3),
                    MVT::i32, 5, 2, 0, 3, 4, 5,
   23,
    OPC_CheckPredicate, 47,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 12,
    OPC_EmitRegisterI32, ARM::CPSR,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::tADDi8),
                    MVT::i32, 5, 2, 0, 3, 4, 5,
   26,
    OPC_CheckPredicate, 97,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 12,
    OPC_EmitRegisterI32, ARM::CPSR,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 3, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::tSUBi3),
                    MVT::i32, 5, 2, 0, 4, 5, 6,
   26,
    OPC_CheckPredicate, 98,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 12,
    OPC_EmitRegisterI32, ARM::CPSR,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 3, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::tSUBi8),
                    MVT::i32, 5, 2, 0, 4, 5, 6,
   22,
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ADDri),
                    MVT::i32, 5, 0, 2, 3, 4, 5,
   19,
    OPC_CheckPredicate, 71,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ADDri12),
                    MVT::i32, 4, 0, 2, 3, 4,
   25,
    OPC_CheckPredicate, 62,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 4, 2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SUBri),
                    MVT::i32, 5, 0, 3, 4, 5, 6,
   22,
    OPC_CheckPredicate, 99,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 3, 2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SUBri12),
                    MVT::i32, 4, 0, 3, 4, 5,
   110,
    OPC_CheckPredicate, 72,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 34,
     OPC_CheckPatternPredicate, 43,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 3, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::MOVi16),
                     MVT::i32, 3, 3, 4, 5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SUBrr),
                     MVT::i32, 5, 0, 6, 7, 8, 9,
    33,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 3, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::t2MOVi16),
                     MVT::i32, 3, 3, 4, 5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SUBrr),
                     MVT::i32, 5, 0, 6, 7, 8, 9,
    34,
     OPC_CheckPatternPredicate, 113,
     OPC_EmitRegisterI32, ARM::CPSR,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 3, 3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::t2MOVi16),
                     MVT::i32, 3, 4, 5, 6,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::tSUBrr),
                     MVT::i32, 5, 2, 0, 7, 8, 9,
    0,
   0,
  77,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 47, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_Scope, 19,
     OPC_CheckPatternPredicate, 67,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MLA),
                     MVT::i32, 6, 0, 1, 2, 3, 4, 5,
    19,
     OPC_CheckPatternPredicate, 68,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MLAv5),
                     MVT::i32, 6, 0, 1, 2, 3, 4, 5,
    0,
   21, TARGET_VAL(ISD::MULHS),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 67,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMMLA),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   0,
  103,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 20, TARGET_VAL(ARMISD::SMULWB),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLAWB),
                    MVT::i32, 5, 1, 2, 0, 3, 4,
   20, TARGET_VAL(ARMISD::SMULWT),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLAWT),
                    MVT::i32, 5, 1, 2, 0, 3, 4,
   50, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_Scope, 22,
     OPC_CheckValueType, MVT::i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SXTAB),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    22,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SXTAH),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    0,
   0,
  51,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 21, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 75,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2MLA),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   21, TARGET_VAL(ISD::MULHS),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 28,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMMLA),
                    MVT::i32, 5, 1, 0, 2, 3, 4,
   0,
  101,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 20, TARGET_VAL(ARMISD::SMULWB),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 28,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLAWB),
                    MVT::i32, 5, 1, 2, 0, 3, 4,
   20, TARGET_VAL(ARMISD::SMULWT),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 28,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLAWT),
                    MVT::i32, 5, 1, 2, 0, 3, 4,
   48, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_Scope, 21,
     OPC_CheckValueType, MVT::i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate5,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTAB),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    21,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate5,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTAH),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    0,
   0,
  116|128,4,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 72, TARGET_VAL(ARMISD::VADDVs),
    OPC_RecordChild0,
    OPC_Scope, 22,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs8acc),
                     MVT::i32, 5, 1, 0, 2, 3, 4,
    22,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs16acc),
                     MVT::i32, 5, 1, 0, 2, 3, 4,
    22,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs32acc),
                     MVT::i32, 5, 1, 0, 2, 3, 4,
    0,
   75, TARGET_VAL(ARMISD::VADDVps),
    OPC_RecordChild0,
    OPC_Scope, 23,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v16i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs8acc),
                     MVT::i32, 5, 2, 0, 3, 1, 4,
    23,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v8i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs16acc),
                     MVT::i32, 5, 2, 0, 3, 1, 4,
    23,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v4i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs32acc),
                     MVT::i32, 5, 2, 0, 3, 1, 4,
    0,
   72, TARGET_VAL(ISD::VECREDUCE_ADD),
    OPC_RecordChild0,
    OPC_Scope, 22,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu8acc),
                     MVT::i32, 5, 1, 0, 2, 3, 4,
    22,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu16acc),
                     MVT::i32, 5, 1, 0, 2, 3, 4,
    22,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu32acc),
                     MVT::i32, 5, 1, 0, 2, 3, 4,
    0,
   72, TARGET_VAL(ARMISD::VADDVu),
    OPC_RecordChild0,
    OPC_Scope, 22,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu8acc),
                     MVT::i32, 5, 1, 0, 2, 3, 4,
    22,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu16acc),
                     MVT::i32, 5, 1, 0, 2, 3, 4,
    22,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu32acc),
                     MVT::i32, 5, 1, 0, 2, 3, 4,
    0,
   75, TARGET_VAL(ARMISD::VADDVpu),
    OPC_RecordChild0,
    OPC_Scope, 23,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v16i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu8acc),
                     MVT::i32, 5, 2, 0, 3, 1, 4,
    23,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v8i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu16acc),
                     MVT::i32, 5, 2, 0, 3, 1, 4,
    23,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v4i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu32acc),
                     MVT::i32, 5, 2, 0, 3, 1, 4,
    0,
   57, TARGET_VAL(ARMISD::VMLAVs),
    OPC_RecordChild0,
    OPC_Scope, 26,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVas16),
                     MVT::i32, 6, 2, 0, 1, 3, 4, 5,
    26,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVas8),
                     MVT::i32, 6, 2, 0, 1, 3, 4, 5,
    0,
   57, TARGET_VAL(ARMISD::VMLAVu),
    OPC_RecordChild0,
    OPC_Scope, 26,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau16),
                     MVT::i32, 6, 2, 0, 1, 3, 4, 5,
    26,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau8),
                     MVT::i32, 6, 2, 0, 1, 3, 4, 5,
    0,
   59, TARGET_VAL(ARMISD::VMLAVps),
    OPC_RecordChild0,
    OPC_Scope, 27,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVas16),
                     MVT::i32, 6, 3, 0, 1, 4, 2, 5,
    27,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v16i8,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVas8),
                     MVT::i32, 6, 3, 0, 1, 4, 2, 5,
    0,
   59, TARGET_VAL(ARMISD::VMLAVpu),
    OPC_RecordChild0,
    OPC_Scope, 27,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau16),
                     MVT::i32, 6, 3, 0, 1, 4, 2, 5,
    27,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v16i8,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau8),
                     MVT::i32, 6, 3, 0, 1, 4, 2, 5,
    0,
   0,
  76,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 46, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 19,
     OPC_CheckPatternPredicate, 67,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MLA),
                     MVT::i32, 6, 1, 2, 0, 3, 4, 5,
    19,
     OPC_CheckPatternPredicate, 68,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MLAv5),
                     MVT::i32, 6, 1, 2, 0, 3, 4, 5,
    0,
   20, TARGET_VAL(ISD::MULHS),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 67,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMMLA),
                    MVT::i32, 5, 1, 2, 0, 3, 4,
   0,
  51,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 21, TARGET_VAL(ARMISD::SMULWB),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLAWB),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   21, TARGET_VAL(ARMISD::SMULWT),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 35,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLAWT),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   0,
  50,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 20, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 75,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2MLA),
                    MVT::i32, 5, 1, 2, 0, 3, 4,
   20, TARGET_VAL(ISD::MULHS),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 28,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMMLA),
                    MVT::i32, 5, 2, 1, 0, 3, 4,
   0,
  20|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 21, TARGET_VAL(ARMISD::SMULWB),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 28,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLAWB),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   21, TARGET_VAL(ARMISD::SMULWT),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 28,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLAWT),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   94, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_Scope, 44,
     OPC_CheckValueType, MVT::i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_Scope, 18,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::SXTAB),
                      MVT::i32, 5, 1, 0, 2, 3, 4,
     17,
      OPC_CheckPatternPredicate5,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTAB),
                      MVT::i32, 5, 1, 0, 2, 3, 4,
     0,
    44,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_Scope, 18,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::SXTAH),
                      MVT::i32, 5, 1, 0, 2, 3, 4,
     17,
      OPC_CheckPatternPredicate5,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTAH),
                      MVT::i32, 5, 1, 0, 2, 3, 4,
     0,
    0,
   0,
  8|128,6,
   OPC_RecordChild0,
   OPC_Scope, 93|128,4,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 69, TARGET_VAL(ISD::VECREDUCE_ADD),
     OPC_RecordChild0,
     OPC_Scope, 21,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu8acc),
                      MVT::i32, 5, 0, 1, 2, 3, 4,
     21,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu16acc),
                      MVT::i32, 5, 0, 1, 2, 3, 4,
     21,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu32acc),
                      MVT::i32, 5, 0, 1, 2, 3, 4,
     0,
    69, TARGET_VAL(ARMISD::VADDVu),
     OPC_RecordChild0,
     OPC_Scope, 21,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu8acc),
                      MVT::i32, 5, 0, 1, 2, 3, 4,
     21,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu16acc),
                      MVT::i32, 5, 0, 1, 2, 3, 4,
     21,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu32acc),
                      MVT::i32, 5, 0, 1, 2, 3, 4,
     0,
    72, TARGET_VAL(ARMISD::VADDVpu),
     OPC_RecordChild0,
     OPC_Scope, 22,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v16i1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu8acc),
                      MVT::i32, 5, 0, 1, 3, 2, 4,
     22,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v8i1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu16acc),
                      MVT::i32, 5, 0, 1, 3, 2, 4,
     22,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v4i1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu32acc),
                      MVT::i32, 5, 0, 1, 3, 2, 4,
     0,
    69, TARGET_VAL(ARMISD::VADDVs),
     OPC_RecordChild0,
     OPC_Scope, 21,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs8acc),
                      MVT::i32, 5, 0, 1, 2, 3, 4,
     21,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs16acc),
                      MVT::i32, 5, 0, 1, 2, 3, 4,
     21,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs32acc),
                      MVT::i32, 5, 0, 1, 2, 3, 4,
     0,
    72, TARGET_VAL(ARMISD::VADDVps),
     OPC_RecordChild0,
     OPC_Scope, 22,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v16i1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs8acc),
                      MVT::i32, 5, 0, 1, 3, 2, 4,
     22,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v8i1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs16acc),
                      MVT::i32, 5, 0, 1, 3, 2, 4,
     22,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v4i1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs32acc),
                      MVT::i32, 5, 0, 1, 3, 2, 4,
     0,
    55, TARGET_VAL(ARMISD::VMLAVs),
     OPC_RecordChild0,
     OPC_Scope, 25,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVas16),
                      MVT::i32, 6, 0, 1, 2, 3, 4, 5,
     25,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVas8),
                      MVT::i32, 6, 0, 1, 2, 3, 4, 5,
     0,
    55, TARGET_VAL(ARMISD::VMLAVu),
     OPC_RecordChild0,
     OPC_Scope, 25,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau16),
                      MVT::i32, 6, 0, 1, 2, 3, 4, 5,
     25,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau8),
                      MVT::i32, 6, 0, 1, 2, 3, 4, 5,
     0,
    57, TARGET_VAL(ARMISD::VMLAVps),
     OPC_RecordChild0,
     OPC_Scope, 26,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v8i16,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8i1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVas16),
                      MVT::i32, 6, 0, 1, 2, 4, 3, 5,
     26,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v16i8,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v16i1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVas8),
                      MVT::i32, 6, 0, 1, 2, 4, 3, 5,
     0,
    57, TARGET_VAL(ARMISD::VMLAVpu),
     OPC_RecordChild0,
     OPC_Scope, 26,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v8i16,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8i1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau16),
                      MVT::i32, 6, 0, 1, 2, 4, 3, 5,
     26,
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v16i8,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v16i1,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau8),
                      MVT::i32, 6, 0, 1, 2, 4, 3, 5,
     0,
    0,
   73,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::ADDrr),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    18,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitRegisterI32, ARM::CPSR,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::tADDrr),
                     MVT::i32, 5, 2, 0, 1, 3, 4,
    31,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_Scope, 10,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ADDrr),
                      MVT::i32, 5, 0, 1, 2, 3, 4,
     10,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ADDrr),
                      MVT::i32, 5, 1, 0, 2, 3, 4,
     0,
    0,
   91,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_Scope, 41,
     OPC_CheckChild0Type, MVT::v16i1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_i8),
                     MVT::v16i8, 6, 0, 2, 3, 1, 4, 0,
    41,
     OPC_CheckChild0Type, MVT::v8i1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_i16),
                     MVT::v8i16, 6, 0, 2, 3, 1, 4, 0,
    0,
   0,
  93,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
   OPC_RecordChild0,
   OPC_Scope, 42,
    OPC_CheckChild0Type, MVT::v16i1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 0,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_i8),
                    MVT::v16i8, 6, 2, 1, 3, 0, 4, 2,
   42,
    OPC_CheckChild0Type, MVT::v8i1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 0,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_i16),
                    MVT::v8i16, 6, 2, 1, 3, 0, 4, 2,
   0,
  117,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
   OPC_RecordChild0,
   OPC_Scope, 36,
    OPC_CheckChild0Type, MVT::v16i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 0,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDi8),
                    MVT::v16i8, 6, 0, 2, 3, 1, 4, 0,
   36,
    OPC_CheckChild0Type, MVT::v8i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 0,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDi16),
                    MVT::v8i16, 6, 0, 2, 3, 1, 4, 0,
   34,
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_i32),
                    MVT::v4i32, 6, 0, 2, 3, 1, 4, 0,
   0,
  119,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
   OPC_RecordChild0,
   OPC_Scope, 37,
    OPC_CheckChild0Type, MVT::v16i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 0,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDi8),
                    MVT::v16i8, 6, 2, 1, 3, 0, 4, 2,
   37,
    OPC_CheckChild0Type, MVT::v8i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 0,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDi16),
                    MVT::v8i16, 6, 2, 1, 3, 0, 4, 2,
   35,
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_i32),
                    MVT::v4i32, 6, 2, 1, 3, 0, 4, 2,
   0,
  35,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v4i1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 0,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDi32),
                   MVT::v4i32, 6, 0, 2, 3, 1, 4, 0,
  35,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v4i1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 0,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDi32),
                   MVT::v4i32, 6, 2, 1, 3, 0, 4, 2,
  61|128,2,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 21|128,1, TARGET_VAL(ISD::MUL),
    OPC_Scope, 110,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_Scope, 50,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 17, MVT::v4i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslv4i16),
                       MVT::v4i16, 6, 0, 1, 2, 4, 5, 6,
      17, MVT::v8i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslv8i16),
                       MVT::v8i16, 6, 0, 1, 2, 4, 5, 6,
      0,
     50,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 17, MVT::v2i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslv2i32),
                       MVT::v2i32, 6, 0, 1, 2, 4, 5, 6,
      17, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslv4i32),
                       MVT::v4i32, 6, 0, 1, 2, 4, 5, 6,
      0,
     0,
    35,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslv4i16),
                     MVT::v4i16, 6, 0, 3, 1, 4, 5, 6,
    0,
   77, TARGET_VAL(ARMISD::VMULLs),
    OPC_RecordChild0,
    OPC_Scope, 36,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLALslsv4i16),
                     MVT::v4i32, 6, 0, 1, 2, 4, 5, 6,
    36,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLALslsv2i32),
                     MVT::v2i64, 6, 0, 1, 2, 4, 5, 6,
    0,
   77, TARGET_VAL(ARMISD::VMULLu),
    OPC_RecordChild0,
    OPC_Scope, 36,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLALsluv4i16),
                     MVT::v4i32, 6, 0, 1, 2, 4, 5, 6,
    36,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLALsluv2i32),
                     MVT::v2i64, 6, 0, 1, 2, 4, 5, 6,
    0,
   0,
  80,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_Scope, 36,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslv4i16),
                    MVT::v4i16, 6, 3, 0, 1, 4, 5, 6,
   36,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslv4i16),
                    MVT::v4i16, 6, 3, 2, 0, 4, 5, 6,
   0,
  40,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v2i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslv2i32),
                   MVT::v2i32, 6, 0, 3, 1, 4, 5, 6,
  80,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_Scope, 36,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslv2i32),
                    MVT::v2i32, 6, 3, 0, 1, 4, 5, 6,
   36,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslv2i32),
                    MVT::v2i32, 6, 3, 2, 0, 4, 5, 6,
   0,
  40,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v4i16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslv8i16),
                   MVT::v8i16, 6, 0, 3, 1, 4, 5, 6,
  80,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_Scope, 36,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslv8i16),
                    MVT::v8i16, 6, 3, 0, 1, 4, 5, 6,
   36,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslv8i16),
                    MVT::v8i16, 6, 3, 2, 0, 4, 5, 6,
   0,
  40,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v2i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslv4i32),
                   MVT::v4i32, 6, 0, 3, 1, 4, 5, 6,
  118|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 76, TARGET_VAL(ISD::MUL),
    OPC_Scope, 36,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslv4i32),
                     MVT::v4i32, 6, 3, 0, 1, 4, 5, 6,
    36,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslv4i32),
                     MVT::v4i32, 6, 3, 2, 0, 4, 5, 6,
    0,
   79, TARGET_VAL(ARMISD::VMULLs),
    OPC_RecordChild0,
    OPC_Scope, 37,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLALslsv4i16),
                     MVT::v4i32, 6, 3, 0, 1, 4, 5, 6,
    37,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLALslsv2i32),
                     MVT::v2i64, 6, 3, 0, 1, 4, 5, 6,
    0,
   79, TARGET_VAL(ARMISD::VMULLu),
    OPC_RecordChild0,
    OPC_Scope, 37,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLALsluv4i16),
                     MVT::v4i32, 6, 3, 0, 1, 4, 5, 6,
    37,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLALsluv2i32),
                     MVT::v2i64, 6, 3, 0, 1, 4, 5, 6,
    0,
   0,
  26|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_Scope, 96,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_Scope, 43,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget3,
     OPC_EmitNodeXForm, 5, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 2, 5,
     OPC_EmitConvertToTarget3,
     OPC_EmitNodeXForm, 6, 7,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslv8i16),
                     MVT::v8i16, 6, 0, 1, 6, 8, 9, 10,
    43,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget3,
     OPC_EmitNodeXForm, 7, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 2, 5,
     OPC_EmitConvertToTarget3,
     OPC_EmitNodeXForm, 8, 7,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslv4i32),
                     MVT::v4i32, 6, 0, 1, 6, 8, 9, 10,
    0,
   49,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 5, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 5,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslv8i16),
                    MVT::v8i16, 6, 0, 3, 6, 8, 9, 10,
   0,
  108,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_Scope, 50,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 5, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 5,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslv8i16),
                    MVT::v8i16, 6, 3, 0, 6, 8, 9, 10,
   50,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 5, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 5,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslv8i16),
                    MVT::v8i16, 6, 3, 2, 6, 8, 9, 10,
   0,
  54,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitNodeXForm, 7, 4,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v2i32, 2, 1, 5,
   OPC_EmitConvertToTarget2,
   OPC_EmitNodeXForm, 8, 7,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslv4i32),
                   MVT::v4i32, 6, 0, 3, 6, 8, 9, 10,
  11|128,4,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 104, TARGET_VAL(ISD::MUL),
    OPC_Scope, 50,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 7, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 1, 5,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 8, 7,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslv4i32),
                     MVT::v4i32, 6, 3, 0, 6, 8, 9, 10,
    50,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 7, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 0, 5,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 8, 7,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslv4i32),
                     MVT::v4i32, 6, 3, 2, 6, 8, 9, 10,
    0,
   84, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 26,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDLsv8i16),
                     MVT::v8i16, 4, 0, 1, 2, 3,
    26,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDLsv4i32),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    26,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDLsv2i64),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    0,
   31|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 51,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 20, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDLuv8i16),
                      MVT::v8i16, 4, 0, 1, 2, 3,
     20, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDLuv8i16),
                      MVT::v8i16, 4, 0, 1, 2, 3,
     0,
    51,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 20, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDLuv4i32),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     20, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDLuv4i32),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     0,
    51,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 20, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDLuv2i64),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     20, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDLuv2i64),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     0,
    0,
   31|128,1, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 51,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 20, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDLuv8i16),
                      MVT::v8i16, 4, 0, 1, 2, 3,
     20, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDLuv8i16),
                      MVT::v8i16, 4, 0, 1, 2, 3,
     0,
    51,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 20, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDLuv4i32),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     20, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDLuv4i32),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     0,
    51,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 20, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDLuv2i64),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     20, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDLuv2i64),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     0,
    0,
   0,
  15|128,6,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 15|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 67, TARGET_VAL(ISD::ABDS),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_SwitchType , 19, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABALsv8i16),
                      MVT::v8i16, 5, 0, 1, 2, 3, 4,
     19, MVT::v4i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABALsv4i32),
                      MVT::v4i32, 5, 0, 1, 2, 3, 4,
     19, MVT::v2i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABALsv2i64),
                      MVT::v2i64, 5, 0, 1, 2, 3, 4,
     0,
    67, TARGET_VAL(ISD::ABDU),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_SwitchType , 19, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABALuv8i16),
                      MVT::v8i16, 5, 0, 1, 2, 3, 4,
     19, MVT::v4i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABALuv4i32),
                      MVT::v4i32, 5, 0, 1, 2, 3, 4,
     19, MVT::v2i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABALuv2i64),
                      MVT::v2i64, 5, 0, 1, 2, 3, 4,
     0,
    0,
   26|128,1, TARGET_VAL(ARMISD::VSHRsIMM),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 16, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAsv8i8),
                     MVT::v8i8, 5, 0, 1, 3, 4, 5,
    16, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAsv4i16),
                     MVT::v4i16, 5, 0, 1, 3, 4, 5,
    16, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAsv2i32),
                     MVT::v2i32, 5, 0, 1, 3, 4, 5,
    16, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAsv1i64),
                     MVT::v1i64, 5, 0, 1, 3, 4, 5,
    16, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAsv16i8),
                     MVT::v16i8, 5, 0, 1, 3, 4, 5,
    16, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAsv8i16),
                     MVT::v8i16, 5, 0, 1, 3, 4, 5,
    16, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAsv4i32),
                     MVT::v4i32, 5, 0, 1, 3, 4, 5,
    16, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAsv2i64),
                     MVT::v2i64, 5, 0, 1, 3, 4, 5,
    0,
   26|128,1, TARGET_VAL(ARMISD::VSHRuIMM),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 16, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAuv8i8),
                     MVT::v8i8, 5, 0, 1, 3, 4, 5,
    16, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAuv4i16),
                     MVT::v4i16, 5, 0, 1, 3, 4, 5,
    16, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAuv2i32),
                     MVT::v2i32, 5, 0, 1, 3, 4, 5,
    16, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAuv1i64),
                     MVT::v1i64, 5, 0, 1, 3, 4, 5,
    16, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAuv16i8),
                     MVT::v16i8, 5, 0, 1, 3, 4, 5,
    16, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAuv8i16),
                     MVT::v8i16, 5, 0, 1, 3, 4, 5,
    16, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAuv4i32),
                     MVT::v4i32, 5, 0, 1, 3, 4, 5,
    16, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAuv2i64),
                     MVT::v2i64, 5, 0, 1, 3, 4, 5,
    0,
   26|128,1, TARGET_VAL(ARMISD::VRSHRsIMM),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 16, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAsv8i8),
                     MVT::v8i8, 5, 0, 1, 3, 4, 5,
    16, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAsv4i16),
                     MVT::v4i16, 5, 0, 1, 3, 4, 5,
    16, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAsv2i32),
                     MVT::v2i32, 5, 0, 1, 3, 4, 5,
    16, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAsv1i64),
                     MVT::v1i64, 5, 0, 1, 3, 4, 5,
    16, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAsv16i8),
                     MVT::v16i8, 5, 0, 1, 3, 4, 5,
    16, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAsv8i16),
                     MVT::v8i16, 5, 0, 1, 3, 4, 5,
    16, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAsv4i32),
                     MVT::v4i32, 5, 0, 1, 3, 4, 5,
    16, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAsv2i64),
                     MVT::v2i64, 5, 0, 1, 3, 4, 5,
    0,
   26|128,1, TARGET_VAL(ARMISD::VRSHRuIMM),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 16, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAuv8i8),
                     MVT::v8i8, 5, 0, 1, 3, 4, 5,
    16, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAuv4i16),
                     MVT::v4i16, 5, 0, 1, 3, 4, 5,
    16, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAuv2i32),
                     MVT::v2i32, 5, 0, 1, 3, 4, 5,
    16, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAuv1i64),
                     MVT::v1i64, 5, 0, 1, 3, 4, 5,
    16, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAuv16i8),
                     MVT::v16i8, 5, 0, 1, 3, 4, 5,
    16, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAuv8i16),
                     MVT::v8i16, 5, 0, 1, 3, 4, 5,
    16, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAuv4i32),
                     MVT::v4i32, 5, 0, 1, 3, 4, 5,
    16, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAuv2i64),
                     MVT::v2i64, 5, 0, 1, 3, 4, 5,
    0,
   0,
  113|128,7,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 53|128,1, TARGET_VAL(ISD::MUL),
    OPC_Scope, 18|128,1,
     OPC_RecordChild0,
     OPC_Scope, 71,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_SwitchType , 18, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLA_qr_i8),
                       MVT::v16i8, 6, 2, 0, 1, 3, 4, 5,
      18, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLA_qr_i16),
                       MVT::v8i16, 6, 2, 0, 1, 3, 4, 5,
      18, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLA_qr_i32),
                       MVT::v4i32, 6, 2, 0, 1, 3, 4, 5,
      0,
     70,
      OPC_RecordChild1,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_SwitchType , 18, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLAS_qr_i8),
                       MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
      18, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLAS_qr_i16),
                       MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
      18, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLAS_qr_i32),
                       MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
      0,
     0,
    30,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLA_qr_i8),
                     MVT::v16i8, 6, 2, 1, 0, 3, 4, 5,
    0,
   21|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 70, TARGET_VAL(ISD::ABDS),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_SwitchType , 20, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABALsv8i16),
                      MVT::v8i16, 5, 2, 0, 1, 3, 4,
     20, MVT::v4i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABALsv4i32),
                      MVT::v4i32, 5, 2, 0, 1, 3, 4,
     20, MVT::v2i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABALsv2i64),
                      MVT::v2i64, 5, 2, 0, 1, 3, 4,
     0,
    70, TARGET_VAL(ISD::ABDU),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_SwitchType , 20, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABALuv8i16),
                      MVT::v8i16, 5, 2, 0, 1, 3, 4,
     20, MVT::v4i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABALuv4i32),
                      MVT::v4i32, 5, 2, 0, 1, 3, 4,
     20, MVT::v2i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABALuv2i64),
                      MVT::v2i64, 5, 2, 0, 1, 3, 4,
     0,
    0,
   27|128,1, TARGET_VAL(ARMISD::VSHRsIMM),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 16, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAsv8i8),
                     MVT::v8i8, 5, 2, 0, 3, 4, 5,
    16, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAsv4i16),
                     MVT::v4i16, 5, 2, 0, 3, 4, 5,
    16, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAsv2i32),
                     MVT::v2i32, 5, 2, 0, 3, 4, 5,
    16, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAsv1i64),
                     MVT::v1i64, 5, 2, 0, 3, 4, 5,
    16, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAsv16i8),
                     MVT::v16i8, 5, 2, 0, 3, 4, 5,
    16, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAsv8i16),
                     MVT::v8i16, 5, 2, 0, 3, 4, 5,
    16, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAsv4i32),
                     MVT::v4i32, 5, 2, 0, 3, 4, 5,
    16, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAsv2i64),
                     MVT::v2i64, 5, 2, 0, 3, 4, 5,
    0,
   27|128,1, TARGET_VAL(ARMISD::VSHRuIMM),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 16, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAuv8i8),
                     MVT::v8i8, 5, 2, 0, 3, 4, 5,
    16, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAuv4i16),
                     MVT::v4i16, 5, 2, 0, 3, 4, 5,
    16, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAuv2i32),
                     MVT::v2i32, 5, 2, 0, 3, 4, 5,
    16, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAuv1i64),
                     MVT::v1i64, 5, 2, 0, 3, 4, 5,
    16, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAuv16i8),
                     MVT::v16i8, 5, 2, 0, 3, 4, 5,
    16, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAuv8i16),
                     MVT::v8i16, 5, 2, 0, 3, 4, 5,
    16, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAuv4i32),
                     MVT::v4i32, 5, 2, 0, 3, 4, 5,
    16, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRAuv2i64),
                     MVT::v2i64, 5, 2, 0, 3, 4, 5,
    0,
   27|128,1, TARGET_VAL(ARMISD::VRSHRsIMM),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 16, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAsv8i8),
                     MVT::v8i8, 5, 2, 0, 3, 4, 5,
    16, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAsv4i16),
                     MVT::v4i16, 5, 2, 0, 3, 4, 5,
    16, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAsv2i32),
                     MVT::v2i32, 5, 2, 0, 3, 4, 5,
    16, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAsv1i64),
                     MVT::v1i64, 5, 2, 0, 3, 4, 5,
    16, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAsv16i8),
                     MVT::v16i8, 5, 2, 0, 3, 4, 5,
    16, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAsv8i16),
                     MVT::v8i16, 5, 2, 0, 3, 4, 5,
    16, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAsv4i32),
                     MVT::v4i32, 5, 2, 0, 3, 4, 5,
    16, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAsv2i64),
                     MVT::v2i64, 5, 2, 0, 3, 4, 5,
    0,
   27|128,1, TARGET_VAL(ARMISD::VRSHRuIMM),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 16, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAuv8i8),
                     MVT::v8i8, 5, 2, 0, 3, 4, 5,
    16, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAuv4i16),
                     MVT::v4i16, 5, 2, 0, 3, 4, 5,
    16, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAuv2i32),
                     MVT::v2i32, 5, 2, 0, 3, 4, 5,
    16, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAuv1i64),
                     MVT::v1i64, 5, 2, 0, 3, 4, 5,
    16, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAuv16i8),
                     MVT::v16i8, 5, 2, 0, 3, 4, 5,
    16, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAuv8i16),
                     MVT::v8i16, 5, 2, 0, 3, 4, 5,
    16, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAuv4i32),
                     MVT::v4i32, 5, 2, 0, 3, 4, 5,
    16, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSRAuv2i64),
                     MVT::v2i64, 5, 2, 0, 3, 4, 5,
    0,
   29, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLAS_qr_i8),
                    MVT::v16i8, 6, 1, 2, 0, 3, 4, 5,
   0,
  67,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_Scope, 29,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLA_qr_i8),
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
   29,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLA_qr_i8),
                    MVT::v16i8, 6, 0, 2, 1, 3, 4, 5,
   0,
  34,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLA_qr_i16),
                   MVT::v8i16, 6, 2, 1, 0, 3, 4, 5,
  67,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_Scope, 29,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLA_qr_i16),
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
   29,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLA_qr_i16),
                    MVT::v8i16, 6, 0, 2, 1, 3, 4, 5,
   0,
  34,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLA_qr_i32),
                   MVT::v4i32, 6, 2, 1, 0, 3, 4, 5,
  67,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_Scope, 29,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLA_qr_i32),
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
   29,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLA_qr_i32),
                    MVT::v4i32, 6, 0, 2, 1, 3, 4, 5,
   0,
  55,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_SwitchType , 18, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLAS_qr_i16),
                    MVT::v8i16, 6, 1, 2, 0, 3, 4, 5,
   18, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLAS_qr_i32),
                    MVT::v4i32, 6, 1, 2, 0, 3, 4, 5,
   0,
  119|128,5,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 63, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 19,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDWsv8i16),
                     MVT::v8i16, 4, 0, 1, 2, 3,
    19,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDWsv4i32),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    19,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDWsv2i64),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    0,
   63, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 19,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDWuv8i16),
                     MVT::v8i16, 4, 0, 1, 2, 3,
    19,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDWuv4i32),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    19,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDWuv2i64),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    0,
   63, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 19,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDWuv8i16),
                     MVT::v8i16, 4, 0, 1, 2, 3,
    19,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDWuv4i32),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    19,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDWuv2i64),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    0,
   107, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_SwitchType , 15, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAv8i8),
                     MVT::v8i8, 5, 0, 1, 2, 3, 4,
    15, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAv4i16),
                     MVT::v4i16, 5, 0, 1, 2, 3, 4,
    15, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAv2i32),
                     MVT::v2i32, 5, 0, 1, 2, 3, 4,
    15, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAv16i8),
                     MVT::v16i8, 5, 0, 1, 2, 3, 4,
    15, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAv8i16),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    15, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAv4i32),
                     MVT::v4i32, 5, 0, 1, 2, 3, 4,
    0,
   69, TARGET_VAL(ARMISD::VMULLs),
    OPC_RecordChild0,
    OPC_Scope, 21,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLALsv8i16),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    21,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLALsv4i32),
                     MVT::v4i32, 5, 0, 1, 2, 3, 4,
    21,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLALsv2i64),
                     MVT::v2i64, 5, 0, 1, 2, 3, 4,
    0,
   69, TARGET_VAL(ARMISD::VMULLu),
    OPC_RecordChild0,
    OPC_Scope, 21,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLALuv8i16),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    21,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLALuv4i32),
                     MVT::v4i32, 5, 0, 1, 2, 3, 4,
    21,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLALuv2i64),
                     MVT::v2i64, 5, 0, 1, 2, 3, 4,
    0,
   107, TARGET_VAL(ISD::ABDS),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_SwitchType , 15, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABAsv8i8),
                     MVT::v8i8, 5, 0, 1, 2, 3, 4,
    15, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABAsv4i16),
                     MVT::v4i16, 5, 0, 1, 2, 3, 4,
    15, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABAsv2i32),
                     MVT::v2i32, 5, 0, 1, 2, 3, 4,
    15, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABAsv16i8),
                     MVT::v16i8, 5, 0, 1, 2, 3, 4,
    15, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABAsv8i16),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    15, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABAsv4i32),
                     MVT::v4i32, 5, 0, 1, 2, 3, 4,
    0,
   107, TARGET_VAL(ISD::ABDU),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_SwitchType , 15, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABAuv8i8),
                     MVT::v8i8, 5, 0, 1, 2, 3, 4,
    15, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABAuv4i16),
                     MVT::v4i16, 5, 0, 1, 2, 3, 4,
    15, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABAuv2i32),
                     MVT::v2i32, 5, 0, 1, 2, 3, 4,
    15, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABAuv16i8),
                     MVT::v16i8, 5, 0, 1, 2, 3, 4,
    15, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABAuv8i16),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    15, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABAuv4i32),
                     MVT::v4i32, 5, 0, 1, 2, 3, 4,
    0,
   80, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_SwitchType , 23, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_i8),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    23, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_i16),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    23, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_i32),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  9|128,6,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 66, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 20,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDWsv8i16),
                     MVT::v8i16, 4, 1, 0, 2, 3,
    20,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDWsv4i32),
                     MVT::v4i32, 4, 1, 0, 2, 3,
    20,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDWsv2i64),
                     MVT::v2i64, 4, 1, 0, 2, 3,
    0,
   66, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 20,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDWuv8i16),
                     MVT::v8i16, 4, 1, 0, 2, 3,
    20,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDWuv4i32),
                     MVT::v4i32, 4, 1, 0, 2, 3,
    20,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDWuv2i64),
                     MVT::v2i64, 4, 1, 0, 2, 3,
    0,
   66, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 20,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDWuv8i16),
                     MVT::v8i16, 4, 1, 0, 2, 3,
    20,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDWuv4i32),
                     MVT::v4i32, 4, 1, 0, 2, 3,
    20,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDWuv2i64),
                     MVT::v2i64, 4, 1, 0, 2, 3,
    0,
   108, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 15, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAv8i8),
                     MVT::v8i8, 5, 2, 0, 1, 3, 4,
    15, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAv4i16),
                     MVT::v4i16, 5, 2, 0, 1, 3, 4,
    15, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAv2i32),
                     MVT::v2i32, 5, 2, 0, 1, 3, 4,
    15, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAv16i8),
                     MVT::v16i8, 5, 2, 0, 1, 3, 4,
    15, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAv8i16),
                     MVT::v8i16, 5, 2, 0, 1, 3, 4,
    15, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAv4i32),
                     MVT::v4i32, 5, 2, 0, 1, 3, 4,
    0,
   72, TARGET_VAL(ARMISD::VMULLs),
    OPC_RecordChild0,
    OPC_Scope, 22,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLALsv8i16),
                     MVT::v8i16, 5, 2, 0, 1, 3, 4,
    22,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLALsv4i32),
                     MVT::v4i32, 5, 2, 0, 1, 3, 4,
    22,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLALsv2i64),
                     MVT::v2i64, 5, 2, 0, 1, 3, 4,
    0,
   72, TARGET_VAL(ARMISD::VMULLu),
    OPC_RecordChild0,
    OPC_Scope, 22,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLALuv8i16),
                     MVT::v8i16, 5, 2, 0, 1, 3, 4,
    22,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLALuv4i32),
                     MVT::v4i32, 5, 2, 0, 1, 3, 4,
    22,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLALuv2i64),
                     MVT::v2i64, 5, 2, 0, 1, 3, 4,
    0,
   108, TARGET_VAL(ISD::ABDS),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 15, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABAsv8i8),
                     MVT::v8i8, 5, 2, 0, 1, 3, 4,
    15, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABAsv4i16),
                     MVT::v4i16, 5, 2, 0, 1, 3, 4,
    15, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABAsv2i32),
                     MVT::v2i32, 5, 2, 0, 1, 3, 4,
    15, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABAsv16i8),
                     MVT::v16i8, 5, 2, 0, 1, 3, 4,
    15, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABAsv8i16),
                     MVT::v8i16, 5, 2, 0, 1, 3, 4,
    15, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABAsv4i32),
                     MVT::v4i32, 5, 2, 0, 1, 3, 4,
    0,
   108, TARGET_VAL(ISD::ABDU),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 15, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABAuv8i8),
                     MVT::v8i8, 5, 2, 0, 1, 3, 4,
    15, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABAuv4i16),
                     MVT::v4i16, 5, 2, 0, 1, 3, 4,
    15, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABAuv2i32),
                     MVT::v2i32, 5, 2, 0, 1, 3, 4,
    15, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABAuv16i8),
                     MVT::v16i8, 5, 2, 0, 1, 3, 4,
    15, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABAuv8i16),
                     MVT::v8i16, 5, 2, 0, 1, 3, 4,
    15, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABAuv4i32),
                     MVT::v4i32, 5, 2, 0, 1, 3, 4,
    0,
   81, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 23, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_i8),
                     MVT::v16i8, 6, 1, 0, 2, 3, 4, 5,
    23, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_i16),
                     MVT::v8i16, 6, 1, 0, 2, 3, 4, 5,
    23, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_i32),
                     MVT::v4i32, 6, 1, 0, 2, 3, 4, 5,
    0,
   0,
  85|128,1,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 14, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   14, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   14, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   41, MVT::v16i8,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDv16i8),
                     MVT::v16i8, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDi8),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    0,
   41, MVT::v8i16,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDv8i16),
                     MVT::v8i16, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDi16),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    0,
   41, MVT::v4i32,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDv4i32),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDi32),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    0,
   14, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDv1i64),
                    MVT::v1i64, 4, 0, 1, 2, 3,
   14, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDv2i64),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   0,
  0,
 8|128,95, TARGET_VAL(ISD::AND),
  OPC_Scope, 51,
   OPC_CheckAndImm, 127|128,1|128,124|128,7,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 8,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_Scope, 17,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UXTB16),
                    MVT::i32, 4, 0, 1, 2, 3,
   16,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UXTB16),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_CheckAndImm, 127|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 2, 2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::UXTB),
                   MVT::i32, 4, 0, 3, 4, 5,
  38,
   OPC_CheckAndImm, 127|128,127|128,3,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 2, 2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::UXTH),
                   MVT::i32, 4, 0, 3, 4, 5,
  39,
   OPC_CheckAndImm, 127|128,1|128,124|128,7,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 2, 2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::UXTB16),
                   MVT::i32, 4, 0, 3, 4, 5,
  36,
   OPC_CheckAndImm, 127|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate5,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 2, 2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UXTB),
                   MVT::i32, 4, 0, 3, 4, 5,
  37,
   OPC_CheckAndImm, 127|128,127|128,3,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate5,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 2, 2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UXTH),
                   MVT::i32, 4, 0, 3, 4, 5,
  38,
   OPC_CheckAndImm, 127|128,1|128,124|128,7,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate5,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 2, 2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UXTB16),
                   MVT::i32, 4, 0, 3, 4, 5,
  22,
   OPC_CheckAndImm, 127|128,1,
   OPC_RecordChild0,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::UXTB),
                   MVT::i32, 4, 0, 1, 2, 3,
  23,
   OPC_CheckAndImm, 127|128,127|128,3,
   OPC_RecordChild0,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::UXTH),
                   MVT::i32, 4, 0, 1, 2, 3,
  24,
   OPC_CheckAndImm, 127|128,1|128,124|128,7,
   OPC_RecordChild0,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::UXTB16),
                   MVT::i32, 4, 0, 1, 2, 3,
  21,
   OPC_CheckAndImm, 127|128,1,
   OPC_RecordChild0,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate4,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UXTB),
                   MVT::i32, 4, 0, 1, 2, 3,
  22,
   OPC_CheckAndImm, 127|128,127|128,3,
   OPC_RecordChild0,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate4,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UXTH),
                   MVT::i32, 4, 0, 1, 2, 3,
  23,
   OPC_CheckAndImm, 127|128,1|128,124|128,7,
   OPC_RecordChild0,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate5,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UXTB16),
                   MVT::i32, 4, 0, 1, 2, 3,
  31,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::BICrsr),
                   MVT::i32, 7, 0, 2, 3, 4, 5, 6, 7,
  34,
   OPC_CheckAndImm, 127|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_CheckChild1Integer, 29|128,29,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 42,
   OPC_CheckComplexPat1, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2LDREXB),
                   MVT::i32, 3, 2, 3, 4,
  35,
   OPC_CheckAndImm, 127|128,127|128,3,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_CheckChild1Integer, 29|128,29,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_CheckPredicate, 32,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 42,
   OPC_CheckComplexPat1, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2LDREXH),
                   MVT::i32, 3, 2, 3, 4,
  34,
   OPC_CheckAndImm, 127|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_CheckChild1Integer, 23|128,29,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_CheckPredicate, 31,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 38,
   OPC_CheckComplexPat1, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2LDAEXB),
                   MVT::i32, 3, 2, 3, 4,
  35,
   OPC_CheckAndImm, 127|128,127|128,3,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_CheckChild1Integer, 23|128,29,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_CheckPredicate, 32,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 38,
   OPC_CheckComplexPat1, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2LDAEXH),
                   MVT::i32, 3, 2, 3, 4,
  31,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat3, /*#*/0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::BICrsr),
                   MVT::i32, 7, 1, 2, 3, 4, 5, 6, 7,
  38,
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckPredicate, 73,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::CSINC),
   OPC_CheckChild0Integer, 0,
   OPC_CheckChild1Integer, 0,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_CheckPredicate0,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 29,
   OPC_EmitRegisterI32, ARM::ZR,
   OPC_EmitConvertToTarget1,
   OPC_EmitCopyToReg2, ARM::CPSR,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2CSEL),
                   MVT::i32, 3, 3, 0, 4,
  38,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::CSINC),
   OPC_CheckChild0Integer, 0,
   OPC_CheckChild1Integer, 0,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckChild3TypeI32,
   OPC_CheckPredicate0,
   OPC_MoveSibling1,
   OPC_RecordNode,
   OPC_CheckPredicate, 73,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 29,
   OPC_EmitRegisterI32, ARM::ZR,
   OPC_EmitConvertToTarget0,
   OPC_EmitCopyToReg1, ARM::CPSR,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2CSEL),
                   MVT::i32, 3, 3, 2, 4,
  54,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_Scope, 20,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::BICrsi),
                    MVT::i32, 6, 0, 2, 3, 4, 5, 6,
   20,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2BICrs),
                    MVT::i32, 6, 0, 2, 3, 4, 5, 6,
   0,
  54,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_Scope, 20,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::BICrsi),
                    MVT::i32, 6, 1, 2, 3, 4, 5, 6,
   20,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat6, /*#*/0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2BICrs),
                    MVT::i32, 6, 1, 2, 3, 4, 5, 6,
   0,
  22|128,1,
   OPC_RecordChild0,
   OPC_Scope, 23,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::ANDrsr),
                    MVT::i32, 7, 0, 2, 3, 4, 5, 6, 7,
   63,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 25,
     OPC_CheckPredicate, 20,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 127,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate3,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::BICri),
                     MVT::i32, 5, 0, 2, 3, 4, 5,
    25,
     OPC_CheckPredicate, 13,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 127,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2BICri),
                     MVT::i32, 5, 0, 2, 3, 4, 5,
    0,
   23,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat3, /*#*/0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::ANDrsr),
                    MVT::i32, 7, 1, 2, 3, 4, 5, 6, 7,
   34,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_CheckChild0Integer, 127,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 20,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::BICri),
                    MVT::i32, 5, 0, 2, 3, 4, 5,
   0,
  70,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 31,
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 20,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::BICri),
                    MVT::i32, 5, 1, 2, 3, 4, 5,
   31,
    OPC_CheckChild0Integer, 127,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 20,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::BICri),
                    MVT::i32, 5, 1, 2, 3, 4, 5,
   0,
  35,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_CheckChild0Integer, 127,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 13,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate4,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2BICri),
                   MVT::i32, 5, 0, 2, 3, 4, 5,
  70,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 31,
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2BICri),
                    MVT::i32, 5, 1, 2, 3, 4, 5,
   31,
    OPC_CheckChild0Integer, 127,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2BICri),
                    MVT::i32, 5, 1, 2, 3, 4, 5,
   0,
  31|128,1,
   OPC_RecordChild0,
   OPC_Scope, 88,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_Scope, 20,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::ANDrsi),
                     MVT::i32, 6, 0, 2, 3, 4, 5, 6,
    20,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ANDrs),
                     MVT::i32, 6, 0, 2, 3, 4, 5, 6,
    20,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat4, /*#*/0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::ANDrsi),
                     MVT::i32, 6, 1, 2, 3, 4, 5, 6,
    20,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ANDrs),
                     MVT::i32, 6, 1, 2, 3, 4, 5, 6,
    0,
   66,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 127,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::BICrr),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    18,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitRegisterI32, ARM::CPSR,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::tBIC),
                     MVT::i32, 5, 2, 0, 1, 3, 4,
    17,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2BICrr),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    0,
   0,
  67,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_Scope, 17,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::BICrr),
                    MVT::i32, 5, 1, 0, 2, 3, 4,
   18,
    OPC_CheckPatternPredicate, 12,
    OPC_EmitRegisterI32, ARM::CPSR,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::tBIC),
                    MVT::i32, 5, 2, 1, 0, 3, 4,
   17,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2BICrr),
                    MVT::i32, 5, 1, 0, 2, 3, 4,
   0,
  31,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 63,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate3,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 9, 2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::BICri),
                   MVT::i32, 5, 0, 3, 4, 5, 6,
  19,
   OPC_CheckAndImm, 127|128,1,
   OPC_RecordChild0,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 50,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::tUXTB),
                   MVT::i32, 3, 0, 1, 2,
  20,
   OPC_CheckAndImm, 127|128,127|128,3,
   OPC_RecordChild0,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 50,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::tUXTH),
                   MVT::i32, 3, 0, 1, 2,
  98|128,1,
   OPC_RecordChild0,
   OPC_Scope, 30,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 55,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 1, 2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2BICri),
                    MVT::i32, 5, 0, 3, 4, 5, 6,
   33,
    OPC_MoveChild0,
    OPC_CheckPredicate, 89,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 100,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 10, 2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2BICri),
                    MVT::i32, 5, 0, 3, 4, 5, 6,
   28|128,1,
    OPC_RecordChild1,
    OPC_Scope, 93,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 22,
      OPC_CheckPredicate, 20,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate3,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::ANDri),
                      MVT::i32, 5, 0, 2, 3, 4, 5,
     20,
      OPC_CheckPredicate, 74,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 43,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::BFC),
                      MVT::i32, 4, 0, 2, 3, 4,
     22,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate4,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ANDri),
                      MVT::i32, 5, 0, 2, 3, 4, 5,
     19,
      OPC_CheckPredicate, 74,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate4,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2BFC),
                      MVT::i32, 4, 0, 2, 3, 4,
     0,
    58,
     OPC_CheckTypeI32,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate3,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::ANDrr),
                      MVT::i32, 5, 0, 1, 2, 3, 4,
     18,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitRegisterI32, ARM::CPSR,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::tAND),
                      MVT::i32, 5, 2, 0, 1, 3, 4,
     17,
      OPC_CheckPatternPredicate4,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ANDrr),
                      MVT::i32, 5, 0, 1, 2, 3, 4,
     0,
    0,
   0,
  46|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 41, TARGET_VAL(ARMISD::VECTOR_REG_CAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
    OPC_RecordChild0,
    OPC_CheckType, MVT::v8i16,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,25,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVLu16th),
                    MVT::v4i32, 5, 0, 1, 2, 3, 4,
   41, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
    OPC_RecordChild0,
    OPC_CheckType, MVT::v8i16,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,25,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVLu16th),
                    MVT::v4i32, 5, 0, 1, 2, 3, 4,
   80, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,25,
    OPC_MoveSibling1,
    OPC_SwitchOpcode , 34, TARGET_VAL(ARMISD::VECTOR_REG_CAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
     OPC_RecordChild0,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVLu16th),
                     MVT::v4i32, 5, 0, 1, 2, 3, 4,
    34, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
     OPC_RecordChild0,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVLu16th),
                     MVT::v4i32, 5, 0, 1, 2, 3, 4,
    0,
   0,
  78|128,2,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 116|128,1, TARGET_VAL(ISD::XOR),
    OPC_Scope, 78|128,1,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_SwitchType , 53, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 14, MVT::v2i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICd),
                       MVT::v2i32, 4, 0, 1, 2, 3,
      14, MVT::v4i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICd),
                       MVT::v4i16, 4, 0, 1, 2, 3,
      14, MVT::v1i64,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICd),
                       MVT::v1i64, 4, 0, 1, 2, 3,
      0,
     6|128,1, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 41, MVT::v4i32,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate1,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICq),
                        MVT::v4i32, 4, 0, 1, 2, 3,
       23,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v4i32, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                        MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
       0,
      41, MVT::v8i16,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate1,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICq),
                        MVT::v8i16, 4, 0, 1, 2, 3,
       23,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v4i32, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                        MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
       0,
      41, MVT::v2i64,
       OPC_Scope, 14,
        OPC_CheckPatternPredicate1,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICq),
                        MVT::v2i64, 4, 0, 1, 2, 3,
       23,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v4i32, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                        MVT::v2i64, 6, 0, 1, 2, 3, 4, 5,
       0,
      0,
     0,
    33,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_CheckType, MVT::v8i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICd),
                     MVT::v2i32, 4, 0, 1, 2, 3,
    0,
   79, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_Scope, 37,
     OPC_CheckChild0Type, MVT::v8i1,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VAND),
                     MVT::v8i16, 6, 0, 2, 3, 1, 4, 0,
    37,
     OPC_CheckChild0Type, MVT::v4i1,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VAND),
                     MVT::v4i32, 6, 0, 2, 3, 1, 4, 0,
    0,
   0,
  76,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 34,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v8i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICd),
                    MVT::v2i32, 4, 1, 0, 2, 3,
   34,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v8i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICd),
                    MVT::v2i32, 4, 1, 0, 2, 3,
   0,
  38,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 127|128,29,
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICq),
                   MVT::v4i32, 4, 0, 1, 2, 3,
  76,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 34,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICq),
                    MVT::v4i32, 4, 1, 0, 2, 3,
   34,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICq),
                    MVT::v4i32, 4, 1, 0, 2, 3,
   0,
  38,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 127|128,29,
   OPC_CheckType, MVT::v8i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICd),
                   MVT::v4i16, 4, 0, 1, 2, 3,
  76,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 34,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v8i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICd),
                    MVT::v4i16, 4, 1, 0, 2, 3,
   34,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v8i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICd),
                    MVT::v4i16, 4, 1, 0, 2, 3,
   0,
  38,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 127|128,29,
   OPC_CheckType, MVT::v8i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v1i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICd),
                   MVT::v1i64, 4, 0, 1, 2, 3,
  76,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 34,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v8i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICd),
                    MVT::v1i64, 4, 1, 0, 2, 3,
   34,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v8i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICd),
                    MVT::v1i64, 4, 1, 0, 2, 3,
   0,
  38,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 127|128,29,
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICq),
                   MVT::v8i16, 4, 0, 1, 2, 3,
  76,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 34,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICq),
                    MVT::v8i16, 4, 1, 0, 2, 3,
   34,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICq),
                    MVT::v8i16, 4, 1, 0, 2, 3,
   0,
  38,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 127|128,29,
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICq),
                   MVT::v2i64, 4, 0, 1, 2, 3,
  34|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 72, TARGET_VAL(ISD::XOR),
    OPC_Scope, 34,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICq),
                     MVT::v2i64, 4, 1, 0, 2, 3,
    34,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICq),
                     MVT::v2i64, 4, 1, 0, 2, 3,
    0,
   81, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_Scope, 38,
     OPC_CheckChild0Type, MVT::v8i1,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VAND),
                     MVT::v8i16, 6, 2, 1, 3, 0, 4, 2,
    38,
     OPC_CheckChild0Type, MVT::v4i1,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VAND),
                     MVT::v4i32, 6, 2, 1, 3, 0, 4, 2,
    0,
   0,
  47,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 127|128,29,
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                   MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
  94,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 43,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                    MVT::v8i16, 6, 1, 0, 2, 3, 4, 5,
   43,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                    MVT::v8i16, 6, 1, 0, 2, 3, 4, 5,
   0,
  47,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 127|128,29,
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                   MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
  94,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 43,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                    MVT::v4i32, 6, 1, 0, 2, 3, 4, 5,
   43,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                    MVT::v4i32, 6, 1, 0, 2, 3, 4, 5,
   0,
  47,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 127|128,29,
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                   MVT::v2i64, 6, 0, 1, 2, 3, 4, 5,
  94,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 43,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                    MVT::v2i64, 6, 1, 0, 2, 3, 4, 5,
   43,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                    MVT::v2i64, 6, 1, 0, 2, 3, 4, 5,
   0,
  35|128,12,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 101, TARGET_VAL(ISD::XOR),
    OPC_Scope, 71,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 14, MVT::v8i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICd),
                      MVT::v8i8, 4, 0, 1, 2, 3,
     41, MVT::v16i8,
      OPC_Scope, 14,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICq),
                       MVT::v16i8, 4, 0, 1, 2, 3,
      23,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                       MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
      0,
     0,
    26,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICd),
                     MVT::v8i8, 4, 0, 1, 2, 3,
    0,
   31, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VAND),
                    MVT::v16i8, 6, 0, 2, 3, 1, 4, 0,
   73|128,7, TARGET_VAL(ARMISD::VCMP),
    OPC_RecordChild0,
    OPC_Scope, 83|128,1,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_Scope, 24,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi8r),
                      MVT::v16i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 1,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi8r),
                      MVT::v16i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 10,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8r),
                      MVT::v16i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 11,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8r),
                      MVT::v16i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 12,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8r),
                      MVT::v16i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 13,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8r),
                      MVT::v16i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 8,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 8,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu8r),
                      MVT::v16i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 2,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu8r),
                      MVT::v16i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    83|128,1,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_Scope, 24,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 1,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 10,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 11,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 12,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 13,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 8,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 8,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 2,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    83|128,1,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_Scope, 24,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 1,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 10,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 11,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 12,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 13,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 8,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 8,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 2,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    33|128,1,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_Scope, 24,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 1,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 10,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 11,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 12,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 13,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    34|128,1,
     OPC_CheckChild0Type, 4|128,1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_Scope, 24,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 1,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 10,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 11,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 12,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 13,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    0,
   68|128,3, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 74,
     OPC_CheckChild0Integer, 51|128,29,
     OPC_RecordChild1,
     OPC_Scope, 32,
      OPC_CheckChild1Type, MVT::v8f16,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, MVT::v8f16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     34,
      OPC_CheckChild1Type, 4|128,1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, 4|128,1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    74,
     OPC_CheckChild0Integer, 56|128,29,
     OPC_RecordChild1,
     OPC_Scope, 32,
      OPC_CheckChild1Type, MVT::v8f16,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, MVT::v8f16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     34,
      OPC_CheckChild1Type, 4|128,1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, 4|128,1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    74,
     OPC_CheckChild0Integer, 52|128,29,
     OPC_RecordChild1,
     OPC_Scope, 32,
      OPC_CheckChild1Type, MVT::v8f16,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, MVT::v8f16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     34,
      OPC_CheckChild1Type, 4|128,1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, 4|128,1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    74,
     OPC_CheckChild0Integer, 55|128,29,
     OPC_RecordChild1,
     OPC_Scope, 32,
      OPC_CheckChild1Type, MVT::v8f16,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, MVT::v8f16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     34,
      OPC_CheckChild1Type, 4|128,1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, 4|128,1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    74,
     OPC_CheckChild0Integer, 53|128,29,
     OPC_RecordChild1,
     OPC_Scope, 32,
      OPC_CheckChild1Type, MVT::v8f16,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, MVT::v8f16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     34,
      OPC_CheckChild1Type, 4|128,1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, 4|128,1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    74,
     OPC_CheckChild0Integer, 54|128,29,
     OPC_RecordChild1,
     OPC_Scope, 32,
      OPC_CheckChild1Type, MVT::v8f16,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, MVT::v8f16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     34,
      OPC_CheckChild1Type, 4|128,1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, 4|128,1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    0,
   0,
  62,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 27,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICd),
                    MVT::v8i8, 4, 1, 0, 2, 3,
   27,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICd),
                    MVT::v8i8, 4, 1, 0, 2, 3,
   0,
  31,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 127|128,29,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICq),
                   MVT::v16i8, 4, 0, 1, 2, 3,
  99,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 58, TARGET_VAL(ISD::XOR),
    OPC_Scope, 27,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICq),
                     MVT::v16i8, 4, 1, 0, 2, 3,
    27,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICq),
                     MVT::v16i8, 4, 1, 0, 2, 3,
    0,
   32, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VAND),
                    MVT::v16i8, 6, 2, 1, 3, 0, 4, 2,
   0,
  40,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 127|128,29,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                   MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
  23|128,12,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 76, TARGET_VAL(ISD::XOR),
    OPC_Scope, 36,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                     MVT::v16i8, 6, 1, 0, 2, 3, 4, 5,
    36,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,29,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                     MVT::v16i8, 6, 1, 0, 2, 3, 4, 5,
    0,
   109|128,7, TARGET_VAL(ARMISD::VCMP),
    OPC_RecordChild0,
    OPC_Scope, 91|128,1,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_Scope, 25,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi8r),
                      MVT::v16i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 1,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi8r),
                      MVT::v16i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 10,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8r),
                      MVT::v16i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 11,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8r),
                      MVT::v16i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 12,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8r),
                      MVT::v16i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 13,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8r),
                      MVT::v16i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 8,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 8,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu8r),
                      MVT::v16i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 2,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu8r),
                      MVT::v16i1, 6, 0, 1, 3, 4, 2, 5,
     0,
    91|128,1,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_Scope, 25,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi16r),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 1,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi16r),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 10,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16r),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 11,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16r),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 12,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16r),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 13,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16r),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 8,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 8,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu16r),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 2,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu16r),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     0,
    91|128,1,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_Scope, 25,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi32r),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 1,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi32r),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 10,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32r),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 11,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32r),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 12,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32r),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 13,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32r),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 8,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 8,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu32r),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 2,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu32r),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     0,
    39|128,1,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_Scope, 25,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 1,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 10,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 11,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 12,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 13,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     0,
    40|128,1,
     OPC_CheckChild0Type, 4|128,1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_Scope, 25,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 1,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 10,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 11,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 12,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 13,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     0,
    0,
   80|128,3, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 76,
     OPC_CheckChild0Integer, 51|128,29,
     OPC_RecordChild1,
     OPC_Scope, 33,
      OPC_CheckChild1Type, MVT::v8f16,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, MVT::v8f16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     35,
      OPC_CheckChild1Type, 4|128,1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, 4|128,1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     0,
    76,
     OPC_CheckChild0Integer, 56|128,29,
     OPC_RecordChild1,
     OPC_Scope, 33,
      OPC_CheckChild1Type, MVT::v8f16,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, MVT::v8f16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     35,
      OPC_CheckChild1Type, 4|128,1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, 4|128,1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     0,
    76,
     OPC_CheckChild0Integer, 52|128,29,
     OPC_RecordChild1,
     OPC_Scope, 33,
      OPC_CheckChild1Type, MVT::v8f16,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, MVT::v8f16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     35,
      OPC_CheckChild1Type, 4|128,1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, 4|128,1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     0,
    76,
     OPC_CheckChild0Integer, 55|128,29,
     OPC_RecordChild1,
     OPC_Scope, 33,
      OPC_CheckChild1Type, MVT::v8f16,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, MVT::v8f16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     35,
      OPC_CheckChild1Type, 4|128,1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, 4|128,1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     0,
    76,
     OPC_CheckChild0Integer, 53|128,29,
     OPC_RecordChild1,
     OPC_Scope, 33,
      OPC_CheckChild1Type, MVT::v8f16,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, MVT::v8f16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     35,
      OPC_CheckChild1Type, 4|128,1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, 4|128,1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     0,
    76,
     OPC_CheckChild0Integer, 54|128,29,
     OPC_RecordChild1,
     OPC_Scope, 33,
      OPC_CheckChild1Type, MVT::v8f16,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, MVT::v8f16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     35,
      OPC_CheckChild1Type, 4|128,1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, 4|128,1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     0,
    0,
   0,
  68|128,18,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 28, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,25,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVLu16bh),
                    MVT::v4i32, 5, 0, 1, 2, 3, 4,
   110|128,7, TARGET_VAL(ARMISD::VCMPZ),
    OPC_RecordChild0,
    OPC_Scope, 92|128,1,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 26,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi8r),
                      MVT::v16i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi8r),
                      MVT::v16i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 10,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8r),
                      MVT::v16i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 11,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8r),
                      MVT::v16i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 12,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8r),
                      MVT::v16i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 13,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8r),
                      MVT::v16i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 8,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 8,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu8r),
                      MVT::v16i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 2,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu8r),
                      MVT::v16i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    92|128,1,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_Scope, 26,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 10,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 11,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 12,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 13,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 8,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 8,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 2,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    92|128,1,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_Scope, 26,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 10,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 11,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 12,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 13,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 8,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 8,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 2,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    38|128,1,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_Scope, 26,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 10,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 11,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 12,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 13,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    39|128,1,
     OPC_CheckChild0Type, 4|128,1,
     OPC_Scope, 26,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 10,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 11,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 12,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     26,
      OPC_CheckChild1Integer, 13,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    0,
   43|128,7, TARGET_VAL(ARMISD::VCMP),
    OPC_RecordChild0,
    OPC_Scope, 77|128,1,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_RecordChild1,
     OPC_Scope, 24,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi8),
                      MVT::v16i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 1,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi8),
                      MVT::v16i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 10,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8),
                      MVT::v16i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 11,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8),
                      MVT::v16i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 12,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8),
                      MVT::v16i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 13,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8),
                      MVT::v16i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 8,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 8,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu8),
                      MVT::v16i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 2,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu8),
                      MVT::v16i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    77|128,1,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_Scope, 24,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi16),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 1,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi16),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 10,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 11,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 12,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 13,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 8,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 8,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu16),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 2,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu16),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    77|128,1,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_Scope, 24,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi32),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 1,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi32),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 10,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 11,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 12,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 13,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 8,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 8,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu32),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 2,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu32),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    27|128,1,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_Scope, 24,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 1,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 10,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 11,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 12,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 13,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    28|128,1,
     OPC_CheckChild0Type, 4|128,1,
     OPC_RecordChild1,
     OPC_Scope, 24,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 1,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 10,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 11,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 12,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     24,
      OPC_CheckChild2Integer, 13,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    0,
   124|128,2, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 62,
     OPC_CheckChild0Integer, 51|128,29,
     OPC_RecordChild1,
     OPC_Scope, 26,
      OPC_CheckChild1Type, MVT::v8f16,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8f16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     28,
      OPC_CheckChild1Type, 4|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 4|128,1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    62,
     OPC_CheckChild0Integer, 56|128,29,
     OPC_RecordChild1,
     OPC_Scope, 26,
      OPC_CheckChild1Type, MVT::v8f16,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8f16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     28,
      OPC_CheckChild1Type, 4|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 4|128,1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    62,
     OPC_CheckChild0Integer, 52|128,29,
     OPC_RecordChild1,
     OPC_Scope, 26,
      OPC_CheckChild1Type, MVT::v8f16,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8f16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     28,
      OPC_CheckChild1Type, 4|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 4|128,1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    62,
     OPC_CheckChild0Integer, 55|128,29,
     OPC_RecordChild1,
     OPC_Scope, 26,
      OPC_CheckChild1Type, MVT::v8f16,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8f16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     28,
      OPC_CheckChild1Type, 4|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 4|128,1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    62,
     OPC_CheckChild0Integer, 53|128,29,
     OPC_RecordChild1,
     OPC_Scope, 26,
      OPC_CheckChild1Type, MVT::v8f16,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8f16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     28,
      OPC_CheckChild1Type, 4|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 4|128,1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    62,
     OPC_CheckChild0Integer, 54|128,29,
     OPC_RecordChild1,
     OPC_Scope, 26,
      OPC_CheckChild1Type, MVT::v8f16,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8f16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 1, 2, 3, 4, 0, 5,
     28,
      OPC_CheckChild1Type, 4|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 4|128,1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 1, 2, 3, 4, 0, 5,
     0,
    0,
   0,
  108|128,19,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 92|128,3, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 20,
     OPC_CheckChild0Integer, 4|128,30,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCTP8),
                     MVT::v16i1, 4, 0, 2, 1, 3,
    20,
     OPC_CheckChild0Integer, 1|128,30,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCTP16),
                     MVT::v8i1, 4, 0, 2, 1, 3,
    20,
     OPC_CheckChild0Integer, 2|128,30,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCTP32),
                     MVT::v4i1, 4, 0, 2, 1, 3,
    20,
     OPC_CheckChild0Integer, 3|128,30,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCTP64),
                     MVT::v2i1, 4, 0, 2, 1, 3,
    64,
     OPC_CheckChild0Integer, 51|128,29,
     OPC_RecordChild1,
     OPC_Scope, 27,
      OPC_CheckChild1Type, MVT::v8f16,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8f16,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     29,
      OPC_CheckChild1Type, 4|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 4|128,1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     0,
    64,
     OPC_CheckChild0Integer, 56|128,29,
     OPC_RecordChild1,
     OPC_Scope, 27,
      OPC_CheckChild1Type, MVT::v8f16,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8f16,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     29,
      OPC_CheckChild1Type, 4|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 4|128,1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     0,
    64,
     OPC_CheckChild0Integer, 52|128,29,
     OPC_RecordChild1,
     OPC_Scope, 27,
      OPC_CheckChild1Type, MVT::v8f16,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8f16,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     29,
      OPC_CheckChild1Type, 4|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 4|128,1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     0,
    64,
     OPC_CheckChild0Integer, 55|128,29,
     OPC_RecordChild1,
     OPC_Scope, 27,
      OPC_CheckChild1Type, MVT::v8f16,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8f16,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     29,
      OPC_CheckChild1Type, 4|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 4|128,1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     0,
    64,
     OPC_CheckChild0Integer, 53|128,29,
     OPC_RecordChild1,
     OPC_Scope, 27,
      OPC_CheckChild1Type, MVT::v8f16,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8f16,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     29,
      OPC_CheckChild1Type, 4|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 4|128,1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     0,
    64,
     OPC_CheckChild0Integer, 54|128,29,
     OPC_RecordChild1,
     OPC_Scope, 27,
      OPC_CheckChild1Type, MVT::v8f16,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8f16,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     29,
      OPC_CheckChild1Type, 4|128,1,
      OPC_RecordChild2,
      OPC_CheckChild2Type, 4|128,1,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     0,
    0,
   29, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,25,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVLu16bh),
                    MVT::v4i32, 5, 0, 1, 2, 3, 4,
   18|128,8, TARGET_VAL(ARMISD::VCMPZ),
    OPC_RecordChild0,
    OPC_Scope, 100|128,1,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 27,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi8r),
                      MVT::v16i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi8r),
                      MVT::v16i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 10,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8r),
                      MVT::v16i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 11,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8r),
                      MVT::v16i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 12,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8r),
                      MVT::v16i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 13,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8r),
                      MVT::v16i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 8,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 8,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu8r),
                      MVT::v16i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 2,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu8r),
                      MVT::v16i1, 6, 0, 2, 3, 4, 1, 5,
     0,
    100|128,1,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_Scope, 27,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi16r),
                      MVT::v8i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi16r),
                      MVT::v8i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 10,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16r),
                      MVT::v8i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 11,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16r),
                      MVT::v8i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 12,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16r),
                      MVT::v8i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 13,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16r),
                      MVT::v8i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 8,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 8,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu16r),
                      MVT::v8i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 2,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu16r),
                      MVT::v8i1, 6, 0, 2, 3, 4, 1, 5,
     0,
    100|128,1,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_Scope, 27,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi32r),
                      MVT::v4i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi32r),
                      MVT::v4i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 10,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32r),
                      MVT::v4i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 11,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32r),
                      MVT::v4i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 12,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32r),
                      MVT::v4i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 13,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32r),
                      MVT::v4i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 8,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 8,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu32r),
                      MVT::v4i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 2,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu32r),
                      MVT::v4i1, 6, 0, 2, 3, 4, 1, 5,
     0,
    44|128,1,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_Scope, 27,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 10,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 11,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 12,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 13,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                      MVT::v8i1, 6, 0, 2, 3, 4, 1, 5,
     0,
    45|128,1,
     OPC_CheckChild0Type, 4|128,1,
     OPC_Scope, 27,
      OPC_CheckChild1Integer, 0,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 1,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 10,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 11,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 12,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 0, 2, 3, 4, 1, 5,
     27,
      OPC_CheckChild1Integer, 13,
      OPC_CheckChild1TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitRegisterI32, ARM::ZR,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                      MVT::v4i1, 6, 0, 2, 3, 4, 1, 5,
     0,
    0,
   79|128,7, TARGET_VAL(ARMISD::VCMP),
    OPC_RecordChild0,
    OPC_Scope, 85|128,1,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_RecordChild1,
     OPC_Scope, 25,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi8),
                      MVT::v16i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 1,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi8),
                      MVT::v16i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 10,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8),
                      MVT::v16i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 11,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8),
                      MVT::v16i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 12,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8),
                      MVT::v16i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 13,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8),
                      MVT::v16i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 8,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 8,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu8),
                      MVT::v16i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 2,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu8),
                      MVT::v16i1, 6, 0, 1, 3, 4, 2, 5,
     0,
    85|128,1,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_Scope, 25,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi16),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 1,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi16),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 10,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 11,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 12,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 13,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 8,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 8,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu16),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 2,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu16),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     0,
    85|128,1,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_Scope, 25,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi32),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 1,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi32),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 10,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 11,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 12,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 13,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 8,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 8,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu32),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 2,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu32),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     0,
    33|128,1,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_Scope, 25,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 1,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 10,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 11,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 12,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 13,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 0, 1, 3, 4, 2, 5,
     0,
    34|128,1,
     OPC_CheckChild0Type, 4|128,1,
     OPC_RecordChild1,
     OPC_Scope, 25,
      OPC_CheckChild2Integer, 0,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 1,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 10,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 11,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 11,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 12,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     25,
      OPC_CheckChild2Integer, 13,
      OPC_CheckChild2TypeI32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 13,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 0, 1, 3, 4, 2, 5,
     0,
    0,
   0,
  3|128,4,
   OPC_RecordChild0,
   OPC_Scope, 86,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 19,
     OPC_CheckChild0Integer, 4|128,30,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCTP8),
                     MVT::v16i1, 4, 1, 2, 0, 3,
    19,
     OPC_CheckChild0Integer, 1|128,30,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCTP16),
                     MVT::v8i1, 4, 1, 2, 0, 3,
    19,
     OPC_CheckChild0Integer, 2|128,30,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCTP32),
                     MVT::v4i1, 4, 1, 2, 0, 3,
    19,
     OPC_CheckChild0Integer, 3|128,30,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCTP64),
                     MVT::v2i1, 4, 1, 2, 0, 3,
    0,
   39|128,3,
    OPC_RecordChild1,
    OPC_SwitchType , 14, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VANDd),
                     MVT::v2i32, 4, 0, 1, 2, 3,
    41, MVT::v4i32,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VANDq),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     23,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VAND),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     0,
    14, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VANDd),
                     MVT::v8i8, 4, 0, 1, 2, 3,
    14, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VANDd),
                     MVT::v4i16, 4, 0, 1, 2, 3,
    14, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VANDd),
                     MVT::v1i64, 4, 0, 1, 2, 3,
    41, MVT::v16i8,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VANDq),
                      MVT::v16i8, 4, 0, 1, 2, 3,
     23,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VAND),
                      MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
     0,
    41, MVT::v8i16,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VANDq),
                      MVT::v8i16, 4, 0, 1, 2, 3,
     23,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VAND),
                      MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
     0,
    41, MVT::v2i64,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VANDq),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     23,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VAND),
                      MVT::v2i64, 6, 0, 1, 2, 3, 4, 5,
     0,
    44, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, ARM::rGPRRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 0, 2,
     OPC_EmitIntegerI32, ARM::rGPRRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 1, 4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::t2ANDrr),
                     MVT::i32, 5, 3, 5, 6, 7, 8,
     OPC_EmitIntegerI32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i1, 2, 9, 10,
    44, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, ARM::rGPRRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 0, 2,
     OPC_EmitIntegerI32, ARM::rGPRRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 1, 4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::t2ANDrr),
                     MVT::i32, 5, 3, 5, 6, 7, 8,
     OPC_EmitIntegerI32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i1, 2, 9, 10,
    44, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, ARM::rGPRRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 0, 2,
     OPC_EmitIntegerI32, ARM::rGPRRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 1, 4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::t2ANDrr),
                     MVT::i32, 5, 3, 5, 6, 7, 8,
     OPC_EmitIntegerI32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i1, 2, 9, 10,
    44, MVT::v2i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, ARM::rGPRRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 0, 2,
     OPC_EmitIntegerI32, ARM::rGPRRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 1, 4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::t2ANDrr),
                     MVT::i32, 5, 3, 5, 6, 7, 8,
     OPC_EmitIntegerI32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i1, 2, 9, 10,
    0,
   0,
  0,
 18|128,117|128,2, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
  OPC_Scope, 100,
   OPC_CheckChild0Integer, 88|128,32,
   OPC_Scope, 55,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_Scope, 19,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 2, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::UXTB16),
                     MVT::i32, 4, 0, 3, 4, 5,
    18,
     OPC_CheckPatternPredicate5,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 2, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UXTB16),
                     MVT::i32, 4, 0, 3, 4, 5,
    0,
   38,
    OPC_RecordChild1,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::UXTB16),
                     MVT::i32, 4, 0, 1, 2, 3,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UXTB16),
                     MVT::i32, 4, 0, 1, 2, 3,
    0,
   0,
  114,
   OPC_CheckChild0Integer, 87|128,32,
   OPC_RecordChild1,
   OPC_Scope, 33,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate5,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UXTAB16),
                    MVT::i32, 5, 0, 1, 4, 5, 6,
   18,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UXTAB16),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   34,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UXTAB16),
                    MVT::i32, 5, 0, 1, 4, 5, 6,
   19,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UXTAB16),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   0,
  49|128,6,
   OPC_CheckChild0Integer, 48|128,30,
   OPC_Scope, 8|128,5,
    OPC_CheckChild1Integer, 0,
    OPC_Scope, 64|128,2,
     OPC_CheckChild2Integer, 0,
     OPC_Scope, 28|128,1,
      OPC_CheckChild3Integer, 0,
      OPC_Scope, 74,
       OPC_CheckChild4Integer, 0,
       OPC_RecordChild5,
       OPC_Scope, 22,
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVs8),
                        MVT::i32, 5, 0, 1, 2, 3, 4,
       22,
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVs16),
                        MVT::i32, 5, 0, 1, 2, 3, 4,
       22,
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVs32),
                        MVT::i32, 5, 0, 1, 2, 3, 4,
       0,
      76,
       OPC_RecordChild4,
       OPC_RecordChild5,
       OPC_Scope, 23,
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVas8),
                        MVT::i32, 6, 0, 1, 2, 3, 4, 5,
       23,
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVas16),
                        MVT::i32, 6, 0, 1, 2, 3, 4, 5,
       23,
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVas32),
                        MVT::i32, 6, 0, 1, 2, 3, 4, 5,
       0,
      0,
     28|128,1,
      OPC_CheckChild3Integer, 1,
      OPC_Scope, 74,
       OPC_CheckChild4Integer, 0,
       OPC_RecordChild5,
       OPC_Scope, 22,
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVxs8),
                        MVT::i32, 5, 0, 1, 2, 3, 4,
       22,
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVxs16),
                        MVT::i32, 5, 0, 1, 2, 3, 4,
       22,
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVxs32),
                        MVT::i32, 5, 0, 1, 2, 3, 4,
       0,
      76,
       OPC_RecordChild4,
       OPC_RecordChild5,
       OPC_Scope, 23,
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVaxs8),
                        MVT::i32, 6, 0, 1, 2, 3, 4, 5,
       23,
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVaxs16),
                        MVT::i32, 6, 0, 1, 2, 3, 4, 5,
       23,
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVaxs32),
                        MVT::i32, 6, 0, 1, 2, 3, 4, 5,
       0,
      0,
     0,
    64|128,2,
     OPC_CheckChild2Integer, 1,
     OPC_Scope, 28|128,1,
      OPC_CheckChild3Integer, 0,
      OPC_Scope, 74,
       OPC_CheckChild4Integer, 0,
       OPC_RecordChild5,
       OPC_Scope, 22,
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLSDAVs8),
                        MVT::i32, 5, 0, 1, 2, 3, 4,
       22,
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLSDAVs16),
                        MVT::i32, 5, 0, 1, 2, 3, 4,
       22,
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLSDAVs32),
                        MVT::i32, 5, 0, 1, 2, 3, 4,
       0,
      76,
       OPC_RecordChild4,
       OPC_RecordChild5,
       OPC_Scope, 23,
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLSDAVas8),
                        MVT::i32, 6, 0, 1, 2, 3, 4, 5,
       23,
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLSDAVas16),
                        MVT::i32, 6, 0, 1, 2, 3, 4, 5,
       23,
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLSDAVas32),
                        MVT::i32, 6, 0, 1, 2, 3, 4, 5,
       0,
      0,
     28|128,1,
      OPC_CheckChild3Integer, 1,
      OPC_Scope, 74,
       OPC_CheckChild4Integer, 0,
       OPC_RecordChild5,
       OPC_Scope, 22,
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLSDAVxs8),
                        MVT::i32, 5, 0, 1, 2, 3, 4,
       22,
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLSDAVxs16),
                        MVT::i32, 5, 0, 1, 2, 3, 4,
       22,
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLSDAVxs32),
                        MVT::i32, 5, 0, 1, 2, 3, 4,
       0,
      76,
       OPC_RecordChild4,
       OPC_RecordChild5,
       OPC_Scope, 23,
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLSDAVaxs8),
                        MVT::i32, 6, 0, 1, 2, 3, 4, 5,
       23,
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLSDAVaxs16),
                        MVT::i32, 6, 0, 1, 2, 3, 4, 5,
       23,
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLSDAVaxs32),
                        MVT::i32, 6, 0, 1, 2, 3, 4, 5,
       0,
      0,
     0,
    0,
   32|128,1,
    OPC_CheckChild1Integer, 1,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild3Integer, 0,
    OPC_Scope, 74,
     OPC_CheckChild4Integer, 0,
     OPC_RecordChild5,
     OPC_Scope, 22,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVu8),
                      MVT::i32, 5, 0, 1, 2, 3, 4,
     22,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVu16),
                      MVT::i32, 5, 0, 1, 2, 3, 4,
     22,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVu32),
                      MVT::i32, 5, 0, 1, 2, 3, 4,
     0,
    76,
     OPC_RecordChild4,
     OPC_RecordChild5,
     OPC_Scope, 23,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau8),
                      MVT::i32, 6, 0, 1, 2, 3, 4, 5,
     23,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau16),
                      MVT::i32, 6, 0, 1, 2, 3, 4, 5,
     23,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau32),
                      MVT::i32, 6, 0, 1, 2, 3, 4, 5,
     0,
    0,
   0,
  79|128,6,
   OPC_CheckChild0Integer, 49|128,30,
   OPC_Scope, 32|128,5,
    OPC_CheckChild1Integer, 0,
    OPC_Scope, 76|128,2,
     OPC_CheckChild2Integer, 0,
     OPC_Scope, 34|128,1,
      OPC_CheckChild3Integer, 0,
      OPC_Scope, 77,
       OPC_CheckChild4Integer, 0,
       OPC_RecordChild5,
       OPC_Scope, 23,
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v16i1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVs8),
                        MVT::i32, 5, 0, 1, 3, 2, 4,
       23,
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v8i1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVs16),
                        MVT::i32, 5, 0, 1, 3, 2, 4,
       23,
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVs32),
                        MVT::i32, 5, 0, 1, 3, 2, 4,
       0,
      79,
       OPC_RecordChild4,
       OPC_RecordChild5,
       OPC_Scope, 24,
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v16i1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVas8),
                        MVT::i32, 6, 0, 1, 2, 4, 3, 5,
       24,
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v8i1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVas16),
                        MVT::i32, 6, 0, 1, 2, 4, 3, 5,
       24,
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVas32),
                        MVT::i32, 6, 0, 1, 2, 4, 3, 5,
       0,
      0,
     34|128,1,
      OPC_CheckChild3Integer, 1,
      OPC_Scope, 77,
       OPC_CheckChild4Integer, 0,
       OPC_RecordChild5,
       OPC_Scope, 23,
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v16i1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVxs8),
                        MVT::i32, 5, 0, 1, 3, 2, 4,
       23,
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v8i1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVxs16),
                        MVT::i32, 5, 0, 1, 3, 2, 4,
       23,
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVxs32),
                        MVT::i32, 5, 0, 1, 3, 2, 4,
       0,
      79,
       OPC_RecordChild4,
       OPC_RecordChild5,
       OPC_Scope, 24,
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v16i1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVaxs8),
                        MVT::i32, 6, 0, 1, 2, 4, 3, 5,
       24,
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v8i1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVaxs16),
                        MVT::i32, 6, 0, 1, 2, 4, 3, 5,
       24,
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVaxs32),
                        MVT::i32, 6, 0, 1, 2, 4, 3, 5,
       0,
      0,
     0,
    76|128,2,
     OPC_CheckChild2Integer, 1,
     OPC_Scope, 34|128,1,
      OPC_CheckChild3Integer, 0,
      OPC_Scope, 77,
       OPC_CheckChild4Integer, 0,
       OPC_RecordChild5,
       OPC_Scope, 23,
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v16i1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLSDAVs8),
                        MVT::i32, 5, 0, 1, 3, 2, 4,
       23,
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v8i1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLSDAVs16),
                        MVT::i32, 5, 0, 1, 3, 2, 4,
       23,
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLSDAVs32),
                        MVT::i32, 5, 0, 1, 3, 2, 4,
       0,
      79,
       OPC_RecordChild4,
       OPC_RecordChild5,
       OPC_Scope, 24,
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v16i1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLSDAVas8),
                        MVT::i32, 6, 0, 1, 2, 4, 3, 5,
       24,
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v8i1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLSDAVas16),
                        MVT::i32, 6, 0, 1, 2, 4, 3, 5,
       24,
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLSDAVas32),
                        MVT::i32, 6, 0, 1, 2, 4, 3, 5,
       0,
      0,
     34|128,1,
      OPC_CheckChild3Integer, 1,
      OPC_Scope, 77,
       OPC_CheckChild4Integer, 0,
       OPC_RecordChild5,
       OPC_Scope, 23,
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v16i1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLSDAVxs8),
                        MVT::i32, 5, 0, 1, 3, 2, 4,
       23,
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v8i1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLSDAVxs16),
                        MVT::i32, 5, 0, 1, 3, 2, 4,
       23,
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLSDAVxs32),
                        MVT::i32, 5, 0, 1, 3, 2, 4,
       0,
      79,
       OPC_RecordChild4,
       OPC_RecordChild5,
       OPC_Scope, 24,
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v16i1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLSDAVaxs8),
                        MVT::i32, 6, 0, 1, 2, 4, 3, 5,
       24,
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v8i1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLSDAVaxs16),
                        MVT::i32, 6, 0, 1, 2, 4, 3, 5,
       24,
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLSDAVaxs32),
                        MVT::i32, 6, 0, 1, 2, 4, 3, 5,
       0,
      0,
     0,
    0,
   38|128,1,
    OPC_CheckChild1Integer, 1,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild3Integer, 0,
    OPC_Scope, 77,
     OPC_CheckChild4Integer, 0,
     OPC_RecordChild5,
     OPC_Scope, 23,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v16i8,
      OPC_RecordChild7,
      OPC_CheckChild7Type, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVu8),
                      MVT::i32, 5, 0, 1, 3, 2, 4,
     23,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v8i16,
      OPC_RecordChild7,
      OPC_CheckChild7Type, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVu16),
                      MVT::i32, 5, 0, 1, 3, 2, 4,
     23,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v4i32,
      OPC_RecordChild7,
      OPC_CheckChild7Type, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVu32),
                      MVT::i32, 5, 0, 1, 3, 2, 4,
     0,
    79,
     OPC_RecordChild4,
     OPC_RecordChild5,
     OPC_Scope, 24,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v16i8,
      OPC_RecordChild7,
      OPC_CheckChild7Type, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau8),
                      MVT::i32, 6, 0, 1, 2, 4, 3, 5,
     24,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v8i16,
      OPC_RecordChild7,
      OPC_CheckChild7Type, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau16),
                      MVT::i32, 6, 0, 1, 2, 4, 3, 5,
     24,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v4i32,
      OPC_RecordChild7,
      OPC_CheckChild7Type, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVau32),
                      MVT::i32, 6, 0, 1, 2, 4, 3, 5,
     0,
    0,
   0,
  75|128,1,
   OPC_CheckChild0Integer, 49|128,32,
   OPC_Scope, 11|128,1,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 62, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate, 75,
     OPC_MoveParent,
     OPC_Scope, 21,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 11, 3,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::SSAT),
                      MVT::i32, 5, 4, 0, 5, 6, 7,
     20,
      OPC_CheckPatternPredicate4,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 11, 3,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SSAT),
                      MVT::i32, 5, 4, 0, 5, 6, 7,
     0,
    68, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 19,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate, 75,
     OPC_MoveParent,
     OPC_Scope, 24,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 11, 3,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 12, 5,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::SSAT),
                      MVT::i32, 5, 4, 0, 6, 7, 8,
     23,
      OPC_CheckPatternPredicate4,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 11, 3,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 12, 5,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SSAT),
                      MVT::i32, 5, 4, 0, 6, 7, 8,
     0,
    0,
   56,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 75,
    OPC_MoveParent,
    OPC_Scope, 22,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 11, 2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SSAT),
                     MVT::i32, 5, 3, 0, 4, 5, 6,
    21,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 11, 2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SSAT),
                     MVT::i32, 5, 3, 0, 4, 5, 6,
    0,
   0,
  56|128,1,
   OPC_CheckChild0Integer, 82|128,32,
   OPC_Scope, 127,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 56, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_Scope, 18,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitConvertToTarget2,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::USAT),
                      MVT::i32, 5, 3, 0, 4, 5, 6,
     17,
      OPC_CheckPatternPredicate4,
      OPC_EmitConvertToTarget2,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2USAT),
                      MVT::i32, 5, 3, 0, 4, 5, 6,
     0,
    62, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 19,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_Scope, 21,
      OPC_CheckPatternPredicate, 9,
      OPC_EmitConvertToTarget2,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 12, 4,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::USAT),
                      MVT::i32, 5, 3, 0, 5, 6, 7,
     20,
      OPC_CheckPatternPredicate4,
      OPC_EmitConvertToTarget2,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 12, 4,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2USAT),
                      MVT::i32, 5, 3, 0, 5, 6, 7,
     0,
    0,
   50,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_Scope, 19,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::USAT),
                     MVT::i32, 5, 2, 0, 3, 4, 5,
    18,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2USAT),
                     MVT::i32, 5, 2, 0, 3, 4, 5,
    0,
   0,
  2|128,1,
   OPC_CheckChild0Integer, 5|128,32,
   OPC_Scope, 44,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 5|128,32,
    OPC_RecordChild1,
    OPC_CheckChild2Same, 1,
    OPC_MoveParent,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::QDADD),
                     MVT::i32, 4, 0, 1, 2, 3,
    14,
     OPC_CheckPatternPredicate5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2QDADD),
                     MVT::i32, 4, 0, 1, 2, 3,
    0,
   44,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 5|128,32,
    OPC_RecordChild1,
    OPC_CheckChild2Same, 0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::QDADD),
                     MVT::i32, 4, 1, 0, 2, 3,
    14,
     OPC_CheckPatternPredicate5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2QDADD),
                     MVT::i32, 4, 1, 0, 2, 3,
    0,
   34,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::QADD),
                     MVT::i32, 4, 0, 1, 2, 3,
    14,
     OPC_CheckPatternPredicate5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2QADD),
                     MVT::i32, 4, 0, 1, 2, 3,
    0,
   0,
  84,
   OPC_CheckChild0Integer, 10|128,32,
   OPC_RecordChild1,
   OPC_Scope, 43,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 5|128,32,
    OPC_RecordChild1,
    OPC_CheckChild2Same, 1,
    OPC_MoveParent,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::QDSUB),
                     MVT::i32, 4, 0, 1, 2, 3,
    14,
     OPC_CheckPatternPredicate5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2QDSUB),
                     MVT::i32, 4, 0, 1, 2, 3,
    0,
   33,
    OPC_RecordChild2,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::QSUB),
                     MVT::i32, 4, 0, 1, 2, 3,
    14,
     OPC_CheckPatternPredicate5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2QSUB),
                     MVT::i32, 4, 0, 1, 2, 3,
    0,
   0,
  100,
   OPC_CheckChild0Integer, 63|128,32,
   OPC_Scope, 55,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_Scope, 19,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 2, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SXTB16),
                     MVT::i32, 4, 0, 3, 4, 5,
    18,
     OPC_CheckPatternPredicate5,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 2, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTB16),
                     MVT::i32, 4, 0, 3, 4, 5,
    0,
   38,
    OPC_RecordChild1,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SXTB16),
                     MVT::i32, 4, 0, 1, 2, 3,
    16,
     OPC_CheckPatternPredicate5,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTB16),
                     MVT::i32, 4, 0, 1, 2, 3,
    0,
   0,
  105,
   OPC_CheckChild0Integer, 62|128,32,
   OPC_RecordChild1,
   OPC_Scope, 57,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_Scope, 20,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 2, 3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SXTAB16),
                     MVT::i32, 5, 0, 1, 4, 5, 6,
    19,
     OPC_CheckPatternPredicate5,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 2, 3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTAB16),
                     MVT::i32, 5, 0, 1, 4, 5, 6,
    0,
   40,
    OPC_RecordChild2,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SXTAB16),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    17,
     OPC_CheckPatternPredicate5,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTAB16),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    0,
   0,
  24,
   OPC_CheckChild0Integer, 99|128,28,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 57,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_CX1),
                   MVT::i32, 2, 0, 2,
  33,
   OPC_CheckChild0Integer, 100|128,28,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 57,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_CX1A),
                   MVT::i32, 5, 0, 1, 3, 4, 5,
  27,
   OPC_CheckChild0Integer, 103|128,28,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 57,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_CX2),
                   MVT::i32, 3, 0, 1, 3,
  35,
   OPC_CheckChild0Integer, 104|128,28,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 57,
   OPC_EmitConvertToTarget3,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_CX2A),
                   MVT::i32, 6, 0, 1, 2, 4, 5, 6,
  29,
   OPC_CheckChild0Integer, 107|128,28,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 57,
   OPC_EmitConvertToTarget3,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_CX3),
                   MVT::i32, 4, 0, 1, 2, 4,
  37,
   OPC_CheckChild0Integer, 108|128,28,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 57,
   OPC_EmitConvertToTarget4,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_CX3A),
                   MVT::i32, 7, 0, 1, 2, 3, 5, 6, 7,
  35|128,1,
   OPC_CheckChild0Integer, 114|128,29,
   OPC_Scope, 78,
    OPC_CheckChild1Integer, 0,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_Scope, 23,
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABAVs8),
                     MVT::i32, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABAVs16),
                     MVT::i32, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABAVs32),
                     MVT::i32, 6, 0, 1, 2, 3, 4, 5,
    0,
   78,
    OPC_CheckChild1Integer, 1,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_Scope, 23,
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABAVu8),
                     MVT::i32, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABAVu16),
                     MVT::i32, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABAVu32),
                     MVT::i32, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  41|128,1,
   OPC_CheckChild0Integer, 115|128,29,
   OPC_Scope, 81,
    OPC_CheckChild1Integer, 0,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_Scope, 24,
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABAVs8),
                     MVT::i32, 6, 0, 1, 2, 4, 3, 5,
    24,
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABAVs16),
                     MVT::i32, 6, 0, 1, 2, 4, 3, 5,
    24,
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABAVs32),
                     MVT::i32, 6, 0, 1, 2, 4, 3, 5,
    0,
   81,
    OPC_CheckChild1Integer, 1,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_Scope, 24,
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABAVu8),
                     MVT::i32, 6, 0, 1, 2, 4, 3, 5,
    24,
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABAVu16),
                     MVT::i32, 6, 0, 1, 2, 4, 3, 5,
    24,
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABAVu32),
                     MVT::i32, 6, 0, 1, 2, 4, 3, 5,
    0,
   0,
  13|128,1,
   OPC_CheckChild0Integer, 45|128,29,
   OPC_RecordChild1,
   OPC_Scope, 44,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 19,
     OPC_CheckChild2Integer, 0,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs8no_acc),
                     MVT::i32, 4, 0, 2, 1, 3,
    19,
     OPC_CheckChild2Integer, 1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu8no_acc),
                     MVT::i32, 4, 0, 2, 1, 3,
    0,
   44,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 19,
     OPC_CheckChild2Integer, 0,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs16no_acc),
                     MVT::i32, 4, 0, 2, 1, 3,
    19,
     OPC_CheckChild2Integer, 1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu16no_acc),
                     MVT::i32, 4, 0, 2, 1, 3,
    0,
   44,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 19,
     OPC_CheckChild2Integer, 0,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs32no_acc),
                     MVT::i32, 4, 0, 2, 1, 3,
    19,
     OPC_CheckChild2Integer, 1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu32no_acc),
                     MVT::i32, 4, 0, 2, 1, 3,
    0,
   0,
  14|128,1,
   OPC_CheckChild0Integer, 79|128,29,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 44,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 19,
     OPC_CheckChild3Integer, 0,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINVs8),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    19,
     OPC_CheckChild3Integer, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINVu8),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    0,
   44,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 19,
     OPC_CheckChild3Integer, 0,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINVs16),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    19,
     OPC_CheckChild3Integer, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINVu16),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    0,
   44,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 19,
     OPC_CheckChild3Integer, 0,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINVs32),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    19,
     OPC_CheckChild3Integer, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINVu32),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    0,
   0,
  20|128,1,
   OPC_CheckChild0Integer, 80|128,29,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 46,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 20,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINVs8),
                     MVT::i32, 5, 0, 1, 3, 2, 4,
    20,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINVu8),
                     MVT::i32, 5, 0, 1, 3, 2, 4,
    0,
   46,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 20,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINVs16),
                     MVT::i32, 5, 0, 1, 3, 2, 4,
    20,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINVu16),
                     MVT::i32, 5, 0, 1, 3, 2, 4,
    0,
   46,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 20,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINVs32),
                     MVT::i32, 5, 0, 1, 3, 2, 4,
    20,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINVu32),
                     MVT::i32, 5, 0, 1, 3, 2, 4,
    0,
   0,
  14|128,1,
   OPC_CheckChild0Integer, 70|128,29,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 44,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 19,
     OPC_CheckChild3Integer, 0,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXVs8),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    19,
     OPC_CheckChild3Integer, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXVu8),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    0,
   44,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 19,
     OPC_CheckChild3Integer, 0,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXVs16),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    19,
     OPC_CheckChild3Integer, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXVu16),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    0,
   44,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 19,
     OPC_CheckChild3Integer, 0,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXVs32),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    19,
     OPC_CheckChild3Integer, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXVu32),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    0,
   0,
  20|128,1,
   OPC_CheckChild0Integer, 71|128,29,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 46,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 20,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXVs8),
                     MVT::i32, 5, 0, 1, 3, 2, 4,
    20,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXVu8),
                     MVT::i32, 5, 0, 1, 3, 2, 4,
    0,
   46,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 20,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXVs16),
                     MVT::i32, 5, 0, 1, 3, 2, 4,
    20,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXVu16),
                     MVT::i32, 5, 0, 1, 3, 2, 4,
    0,
   46,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 20,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXVs32),
                     MVT::i32, 5, 0, 1, 3, 2, 4,
    20,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXVu32),
                     MVT::i32, 5, 0, 1, 3, 2, 4,
    0,
   0,
  53,
   OPC_CheckChild0Integer, 50|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 101,
   OPC_MoveParent,
   OPC_Scope, 19,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 13, 2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SSAT16),
                    MVT::i32, 4, 3, 0, 4, 5,
   18,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 13, 2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SSAT16),
                    MVT::i32, 4, 3, 0, 4, 5,
   0,
  47,
   OPC_CheckChild0Integer, 83|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 23,
   OPC_MoveParent,
   OPC_Scope, 16,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::USAT16),
                    MVT::i32, 4, 2, 0, 3, 4,
   15,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2USAT16),
                    MVT::i32, 4, 2, 0, 3, 4,
   0,
  26,
   OPC_CheckChild0Integer, 103|128,29,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 48,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_SQSHL),
                   MVT::i32, 4, 0, 2, 3, 4,
  26,
   OPC_CheckChild0Integer, 105|128,29,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 48,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_SRSHR),
                   MVT::i32, 4, 0, 2, 3, 4,
  26,
   OPC_CheckChild0Integer, 110|128,29,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 48,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_UQSHL),
                   MVT::i32, 4, 0, 2, 3, 4,
  26,
   OPC_CheckChild0Integer, 112|128,29,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 48,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_URSHR),
                   MVT::i32, 4, 0, 2, 3, 4,
  37,
   OPC_CheckChild0Integer, 7|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::QADD8),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2QADD8),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_CheckChild0Integer, 6|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::QADD16),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2QADD16),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_CheckChild0Integer, 11|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::QSUB16),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2QSUB16),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_CheckChild0Integer, 12|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::QSUB8),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2QSUB8),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_CheckChild0Integer, 74|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UQADD16),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UQADD16),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_CheckChild0Integer, 75|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UQADD8),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UQADD8),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_CheckChild0Integer, 78|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UQSUB16),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UQSUB16),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_CheckChild0Integer, 79|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UQSUB8),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UQSUB8),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_CheckChild0Integer, 8|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::QASX),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2QASX),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_CheckChild0Integer, 9|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::QSAX),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2QSAX),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_CheckChild0Integer, 76|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UQASX),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UQASX),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_CheckChild0Integer, 77|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UQSAX),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UQSAX),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_CheckChild0Integer, 20|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SHASX),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SHASX),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_CheckChild0Integer, 18|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SHADD16),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SHADD16),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_CheckChild0Integer, 19|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SHADD8),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SHADD8),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_CheckChild0Integer, 21|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SHSAX),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SHSAX),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_CheckChild0Integer, 22|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SHSUB16),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SHSUB16),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_CheckChild0Integer, 23|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SHSUB8),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SHSUB8),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_CheckChild0Integer, 69|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UHASX),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UHASX),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_CheckChild0Integer, 67|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UHADD16),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UHADD16),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_CheckChild0Integer, 68|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UHADD8),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UHADD8),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_CheckChild0Integer, 70|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UHSAX),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UHSAX),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_CheckChild0Integer, 71|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UHSUB16),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UHSUB16),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_CheckChild0Integer, 72|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::UHSUB8),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UHSUB8),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  38,
   OPC_CheckChild0Integer, 80|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::USAD8),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2USAD8),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  41,
   OPC_CheckChild0Integer, 81|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 16,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::USADA8),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   15,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2USADA8),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   0,
  41,
   OPC_CheckChild0Integer, 26|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 16,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLAD),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   15,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLAD),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   0,
  41,
   OPC_CheckChild0Integer, 27|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 16,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLADX),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   15,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLADX),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   0,
  41,
   OPC_CheckChild0Integer, 34|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 16,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLSD),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   15,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLSD),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   0,
  41,
   OPC_CheckChild0Integer, 35|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 16,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLSDX),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   15,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLSDX),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   0,
  38,
   OPC_CheckChild0Integer, 38|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMUAD),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMUAD),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  38,
   OPC_CheckChild0Integer, 39|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMUADX),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMUADX),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  38,
   OPC_CheckChild0Integer, 46|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMUSD),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMUSD),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  38,
   OPC_CheckChild0Integer, 47|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMUSDX),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMUSDX),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  27,
   OPC_CheckChild0Integer, 10|128,29,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 58,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CRC32B),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 59,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2CRC32B),
                    MVT::i32, 2, 0, 1,
   0,
  27,
   OPC_CheckChild0Integer, 11|128,29,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 58,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CRC32CB),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 59,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2CRC32CB),
                    MVT::i32, 2, 0, 1,
   0,
  27,
   OPC_CheckChild0Integer, 14|128,29,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 58,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CRC32H),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 59,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2CRC32H),
                    MVT::i32, 2, 0, 1,
   0,
  27,
   OPC_CheckChild0Integer, 12|128,29,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 58,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CRC32CH),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 59,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2CRC32CH),
                    MVT::i32, 2, 0, 1,
   0,
  27,
   OPC_CheckChild0Integer, 15|128,29,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 58,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CRC32W),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 59,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2CRC32W),
                    MVT::i32, 2, 0, 1,
   0,
  27,
   OPC_CheckChild0Integer, 13|128,29,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 58,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CRC32CW),
                    MVT::i32, 2, 0, 1,
   9,
    OPC_CheckPatternPredicate, 59,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2CRC32CW),
                    MVT::i32, 2, 0, 1,
   0,
  38,
   OPC_CheckChild0Integer, 40|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate, 19,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMULBB),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMULBB),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  38,
   OPC_CheckChild0Integer, 41|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate, 19,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMULBT),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMULBT),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  38,
   OPC_CheckChild0Integer, 42|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate, 19,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMULTB),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMULTB),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  38,
   OPC_CheckChild0Integer, 43|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate, 19,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMULTT),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMULTT),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  38,
   OPC_CheckChild0Integer, 44|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate, 19,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMULWB),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMULWB),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  38,
   OPC_CheckChild0Integer, 45|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate, 19,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMULWT),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMULWT),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  41,
   OPC_CheckChild0Integer, 24|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 16,
    OPC_CheckPatternPredicate, 19,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLABB),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   15,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLABB),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   0,
  41,
   OPC_CheckChild0Integer, 25|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 16,
    OPC_CheckPatternPredicate, 19,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLABT),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   15,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLABT),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   0,
  41,
   OPC_CheckChild0Integer, 30|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 16,
    OPC_CheckPatternPredicate, 19,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLATB),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   15,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLATB),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   0,
  41,
   OPC_CheckChild0Integer, 31|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 16,
    OPC_CheckPatternPredicate, 19,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLATT),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   15,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLATT),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   0,
  41,
   OPC_CheckChild0Integer, 32|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 16,
    OPC_CheckPatternPredicate, 19,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLAWB),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   15,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLAWB),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   0,
  41,
   OPC_CheckChild0Integer, 33|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 16,
    OPC_CheckPatternPredicate, 19,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMLAWT),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   15,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMLAWT),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   0,
  19,
   OPC_CheckChild0Integer, 6|128,29,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPatternPredicate, 64,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2TT),
                   MVT::i32, 3, 0, 1, 2,
  19,
   OPC_CheckChild0Integer, 9|128,29,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPatternPredicate, 64,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2TTT),
                   MVT::i32, 3, 0, 1, 2,
  19,
   OPC_CheckChild0Integer, 7|128,29,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPatternPredicate, 64,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2TTA),
                   MVT::i32, 3, 0, 1, 2,
  19,
   OPC_CheckChild0Integer, 8|128,29,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPatternPredicate, 64,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2TTAT),
                   MVT::i32, 3, 0, 1, 2,
  20,
   OPC_CheckChild0Integer, 101|128,29,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 48,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_SQRSHR),
                   MVT::i32, 4, 0, 1, 2, 3,
  20,
   OPC_CheckChild0Integer, 108|128,29,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 48,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_UQRSHL),
                   MVT::i32, 4, 0, 1, 2, 3,
  67,
   OPC_CheckChild0Integer, 73|128,29,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 19,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINAVs8),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   19,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINAVs16),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   19,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINAVs32),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   0,
  70,
   OPC_CheckChild0Integer, 74|128,29,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 20,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINAVs8),
                    MVT::i32, 5, 0, 1, 3, 2, 4,
   20,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINAVs16),
                    MVT::i32, 5, 0, 1, 3, 2, 4,
   20,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINAVs32),
                    MVT::i32, 5, 0, 1, 3, 2, 4,
   0,
  67,
   OPC_CheckChild0Integer, 64|128,29,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 19,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXAVs8),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   19,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXAVs16),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   19,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXAVs32),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   0,
  70,
   OPC_CheckChild0Integer, 65|128,29,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 20,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXAVs8),
                    MVT::i32, 5, 0, 1, 3, 2, 4,
   20,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXAVs16),
                    MVT::i32, 5, 0, 1, 3, 2, 4,
   20,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXAVs32),
                    MVT::i32, 5, 0, 1, 3, 2, 4,
   0,
  50,
   OPC_CheckChild0Integer, 5|128,31,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI64, 0,
   OPC_EmitIntegerI32, ARM::SPRRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f32, 2, 0, 2,
   OPC_EmitIntegerI32, ARM::ssub_0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                   MVT::v16i8, 3, 1, 3, 4,
   OPC_EmitNode1None, TARGET_VAL(ARM::SHA1H),
                   MVT::v16i8, 1, 5,
   OPC_EmitIntegerI32, ARM::ssub_0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::f32, 2, 6, 7,
   OPC_EmitIntegerI32, ARM::GPRRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::i32, 2, 8, 9,
  40,
   OPC_CheckChild0Integer, 111|128,28,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_SwitchType , 10, MVT::f32,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX1_fpsp),
                    MVT::f32, 2, 0, 2,
   10, MVT::f64,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX1_fpdp),
                    MVT::f64, 2, 0, 2,
   0,
  56,
   OPC_CheckChild0Integer, 112|128,28,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_Scope, 21,
    OPC_CheckChild2Type, MVT::f32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX1A_fpsp),
                    MVT::f32, 3, 0, 1, 3,
   21,
    OPC_CheckChild2Type, MVT::f64,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX1A_fpdp),
                    MVT::f64, 3, 0, 1, 3,
   0,
  56,
   OPC_CheckChild0Integer, 117|128,28,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_Scope, 21,
    OPC_CheckChild2Type, MVT::f32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX2_fpsp),
                    MVT::f32, 3, 0, 1, 3,
   21,
    OPC_CheckChild2Type, MVT::f64,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX2_fpdp),
                    MVT::f64, 3, 0, 1, 3,
   0,
  64,
   OPC_CheckChild0Integer, 118|128,28,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_Scope, 25,
    OPC_CheckChild2Type, MVT::f32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::f32,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX2A_fpsp),
                    MVT::f32, 4, 0, 1, 2, 4,
   25,
    OPC_CheckChild2Type, MVT::f64,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::f64,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX2A_fpdp),
                    MVT::f64, 4, 0, 1, 2, 4,
   0,
  64,
   OPC_CheckChild0Integer, 123|128,28,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_Scope, 25,
    OPC_CheckChild2Type, MVT::f32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::f32,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX3_fpsp),
                    MVT::f32, 4, 0, 1, 2, 4,
   25,
    OPC_CheckChild2Type, MVT::f64,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::f64,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitConvertToTarget3,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX3_fpdp),
                    MVT::f64, 4, 0, 1, 2, 4,
   0,
  72,
   OPC_CheckChild0Integer, 124|128,28,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_Scope, 29,
    OPC_CheckChild2Type, MVT::f32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::f32,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::f32,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX3A_fpsp),
                    MVT::f32, 5, 0, 1, 2, 3, 5,
   29,
    OPC_CheckChild2Type, MVT::f64,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::f64,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::f64,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitConvertToTarget4,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX3A_fpdp),
                    MVT::f64, 5, 0, 1, 2, 3, 5,
   0,
  40,
   OPC_CheckChild0Integer, 89|128,32,
   OPC_RecordChild1,
   OPC_Scope, 16,
    OPC_CheckChild1Type, MVT::f64,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VTOSIRD),
                    MVT::f32, 3, 0, 1, 2,
   16,
    OPC_CheckChild1Type, MVT::f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VTOSIRS),
                    MVT::f32, 3, 0, 1, 2,
   0,
  40,
   OPC_CheckChild0Integer, 90|128,32,
   OPC_RecordChild1,
   OPC_Scope, 16,
    OPC_CheckChild1Type, MVT::f64,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VTOUIRD),
                    MVT::f32, 3, 0, 1, 2,
   16,
    OPC_CheckChild1Type, MVT::f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VTOUIRS),
                    MVT::f32, 3, 0, 1, 2,
   0,
  91,
   OPC_CheckChild0Integer, 77|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 41, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMINNMVf32),
                    MVT::i32, 5, 3, 1, 4, 5, 6,
    OPC_EmitIntegerI32, ARM::SPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 7, 8,
   40, MVT::f16,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMINNMVf16),
                    MVT::i32, 5, 3, 1, 4, 5, 6,
    OPC_EmitIntegerI32, ARM::HPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f16, 2, 7, 8,
   0,
  93,
   OPC_CheckChild0Integer, 78|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 42, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 3,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMINNMVf32),
                    MVT::i32, 5, 4, 1, 5, 2, 6,
    OPC_EmitIntegerI32, ARM::SPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 7, 8,
   41, MVT::f16,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 3,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMINNMVf16),
                    MVT::i32, 5, 4, 1, 5, 2, 6,
    OPC_EmitIntegerI32, ARM::HPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f16, 2, 7, 8,
   0,
  91,
   OPC_CheckChild0Integer, 68|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 41, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMAXNMVf32),
                    MVT::i32, 5, 3, 1, 4, 5, 6,
    OPC_EmitIntegerI32, ARM::SPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 7, 8,
   40, MVT::f16,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMAXNMVf16),
                    MVT::i32, 5, 3, 1, 4, 5, 6,
    OPC_EmitIntegerI32, ARM::HPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f16, 2, 7, 8,
   0,
  93,
   OPC_CheckChild0Integer, 69|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 42, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 3,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMAXNMVf32),
                    MVT::i32, 5, 4, 1, 5, 2, 6,
    OPC_EmitIntegerI32, ARM::SPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 7, 8,
   41, MVT::f16,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 3,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMAXNMVf16),
                    MVT::i32, 5, 4, 1, 5, 2, 6,
    OPC_EmitIntegerI32, ARM::HPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f16, 2, 7, 8,
   0,
  91,
   OPC_CheckChild0Integer, 75|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 41, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMINNMAVf32),
                    MVT::i32, 5, 3, 1, 4, 5, 6,
    OPC_EmitIntegerI32, ARM::SPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 7, 8,
   40, MVT::f16,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMINNMAVf16),
                    MVT::i32, 5, 3, 1, 4, 5, 6,
    OPC_EmitIntegerI32, ARM::HPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f16, 2, 7, 8,
   0,
  93,
   OPC_CheckChild0Integer, 76|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 42, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 3,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMINNMAVf32),
                    MVT::i32, 5, 4, 1, 5, 2, 6,
    OPC_EmitIntegerI32, ARM::SPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 7, 8,
   41, MVT::f16,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 3,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMINNMAVf16),
                    MVT::i32, 5, 4, 1, 5, 2, 6,
    OPC_EmitIntegerI32, ARM::HPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f16, 2, 7, 8,
   0,
  91,
   OPC_CheckChild0Integer, 66|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 41, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMAXNMAVf32),
                    MVT::i32, 5, 3, 1, 4, 5, 6,
    OPC_EmitIntegerI32, ARM::SPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 7, 8,
   40, MVT::f16,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMAXNMAVf16),
                    MVT::i32, 5, 3, 1, 4, 5, 6,
    OPC_EmitIntegerI32, ARM::HPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f16, 2, 7, 8,
   0,
  93,
   OPC_CheckChild0Integer, 67|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 42, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 3,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMAXNMAVf32),
                    MVT::i32, 5, 4, 1, 5, 2, 6,
    OPC_EmitIntegerI32, ARM::SPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 7, 8,
   41, MVT::f16,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 3,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMAXNMAVf16),
                    MVT::i32, 5, 4, 1, 5, 2, 6,
    OPC_EmitIntegerI32, ARM::HPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f16, 2, 7, 8,
   0,
  0|128,10,
   OPC_CheckChild0Integer, 108|128,30,
   OPC_RecordChild1,
   OPC_Scope, 123|128,4,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 29,
    OPC_MoveParent,
    OPC_Scope, 121|128,1,
     OPC_CheckChild4Integer, 0,
     OPC_MoveChild5,
     OPC_Scope, 121,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 57,
       OPC_CheckInteger, 0,
       OPC_MoveSibling7,
       OPC_CheckInteger, 0,
       OPC_MoveSibling, 8,
       OPC_Scope, 23,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHRNi16bh),
                        MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
       23,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHRNi16th),
                        MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
       0,
      57,
       OPC_CheckInteger, 1,
       OPC_MoveSibling7,
       OPC_CheckInteger, 1,
       OPC_MoveSibling, 8,
       OPC_Scope, 23,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHRNi16bh),
                        MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
       23,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHRNi16th),
                        MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
       0,
      0,
     121,
      OPC_CheckInteger, 1,
      OPC_MoveSibling6,
      OPC_Scope, 57,
       OPC_CheckInteger, 0,
       OPC_MoveSibling7,
       OPC_CheckInteger, 0,
       OPC_MoveSibling, 8,
       OPC_Scope, 23,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHRNi16bh),
                        MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
       23,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHRNi16th),
                        MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
       0,
      57,
       OPC_CheckInteger, 1,
       OPC_MoveSibling7,
       OPC_CheckInteger, 1,
       OPC_MoveSibling, 8,
       OPC_Scope, 23,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHRNi16bh),
                        MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
       23,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHRNi16th),
                        MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
       0,
      0,
     0,
    111|128,2,
     OPC_CheckChild4Integer, 1,
     OPC_MoveChild5,
     OPC_Scope, 51|128,1,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 57,
       OPC_CheckInteger, 0,
       OPC_MoveSibling7,
       OPC_CheckInteger, 0,
       OPC_MoveSibling, 8,
       OPC_Scope, 23,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRNbhs16),
                        MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
       23,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRNths16),
                        MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
       0,
      115,
       OPC_CheckInteger, 1,
       OPC_MoveSibling7,
       OPC_Scope, 54,
        OPC_CheckInteger, 1,
        OPC_MoveSibling, 8,
        OPC_Scope, 23,
         OPC_CheckInteger, 0,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRNbhu16),
                         MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
        23,
         OPC_CheckInteger, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRNthu16),
                         MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
        0,
       54,
        OPC_CheckInteger, 0,
        OPC_MoveSibling, 8,
        OPC_Scope, 23,
         OPC_CheckInteger, 0,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRUNs16bh),
                         MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
        23,
         OPC_CheckInteger, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRUNs16th),
                         MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
        0,
       0,
      0,
     51|128,1,
      OPC_CheckInteger, 1,
      OPC_MoveSibling6,
      OPC_Scope, 57,
       OPC_CheckInteger, 0,
       OPC_MoveSibling7,
       OPC_CheckInteger, 0,
       OPC_MoveSibling, 8,
       OPC_Scope, 23,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHRNbhs16),
                        MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
       23,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHRNths16),
                        MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
       0,
      115,
       OPC_CheckInteger, 1,
       OPC_MoveSibling7,
       OPC_Scope, 54,
        OPC_CheckInteger, 1,
        OPC_MoveSibling, 8,
        OPC_Scope, 23,
         OPC_CheckInteger, 0,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHRNbhu16),
                         MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
        23,
         OPC_CheckInteger, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHRNthu16),
                         MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
        0,
       54,
        OPC_CheckInteger, 0,
        OPC_MoveSibling, 8,
        OPC_Scope, 23,
         OPC_CheckInteger, 0,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHRUNs16bh),
                         MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
        23,
         OPC_CheckInteger, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHRUNs16th),
                         MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
        0,
       0,
      0,
     0,
    0,
   123|128,4,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_Scope, 121|128,1,
     OPC_CheckChild4Integer, 0,
     OPC_MoveChild5,
     OPC_Scope, 121,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 57,
       OPC_CheckInteger, 0,
       OPC_MoveSibling7,
       OPC_CheckInteger, 0,
       OPC_MoveSibling, 8,
       OPC_Scope, 23,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHRNi32bh),
                        MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
       23,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHRNi32th),
                        MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
       0,
      57,
       OPC_CheckInteger, 1,
       OPC_MoveSibling7,
       OPC_CheckInteger, 1,
       OPC_MoveSibling, 8,
       OPC_Scope, 23,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHRNi32bh),
                        MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
       23,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHRNi32th),
                        MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
       0,
      0,
     121,
      OPC_CheckInteger, 1,
      OPC_MoveSibling6,
      OPC_Scope, 57,
       OPC_CheckInteger, 0,
       OPC_MoveSibling7,
       OPC_CheckInteger, 0,
       OPC_MoveSibling, 8,
       OPC_Scope, 23,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHRNi32bh),
                        MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
       23,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHRNi32th),
                        MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
       0,
      57,
       OPC_CheckInteger, 1,
       OPC_MoveSibling7,
       OPC_CheckInteger, 1,
       OPC_MoveSibling, 8,
       OPC_Scope, 23,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHRNi32bh),
                        MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
       23,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHRNi32th),
                        MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
       0,
      0,
     0,
    111|128,2,
     OPC_CheckChild4Integer, 1,
     OPC_MoveChild5,
     OPC_Scope, 51|128,1,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 57,
       OPC_CheckInteger, 0,
       OPC_MoveSibling7,
       OPC_CheckInteger, 0,
       OPC_MoveSibling, 8,
       OPC_Scope, 23,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRNbhs32),
                        MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
       23,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRNths32),
                        MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
       0,
      115,
       OPC_CheckInteger, 1,
       OPC_MoveSibling7,
       OPC_Scope, 54,
        OPC_CheckInteger, 1,
        OPC_MoveSibling, 8,
        OPC_Scope, 23,
         OPC_CheckInteger, 0,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRNbhu32),
                         MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
        23,
         OPC_CheckInteger, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRNthu32),
                         MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
        0,
       54,
        OPC_CheckInteger, 0,
        OPC_MoveSibling, 8,
        OPC_Scope, 23,
         OPC_CheckInteger, 0,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRUNs32bh),
                         MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
        23,
         OPC_CheckInteger, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRUNs32th),
                         MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
        0,
       0,
      0,
     51|128,1,
      OPC_CheckInteger, 1,
      OPC_MoveSibling6,
      OPC_Scope, 57,
       OPC_CheckInteger, 0,
       OPC_MoveSibling7,
       OPC_CheckInteger, 0,
       OPC_MoveSibling, 8,
       OPC_Scope, 23,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHRNbhs32),
                        MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
       23,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHRNths32),
                        MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
       0,
      115,
       OPC_CheckInteger, 1,
       OPC_MoveSibling7,
       OPC_Scope, 54,
        OPC_CheckInteger, 1,
        OPC_MoveSibling, 8,
        OPC_Scope, 23,
         OPC_CheckInteger, 0,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHRNbhu32),
                         MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
        23,
         OPC_CheckInteger, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHRNthu32),
                         MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
        0,
       54,
        OPC_CheckInteger, 0,
        OPC_MoveSibling, 8,
        OPC_Scope, 23,
         OPC_CheckInteger, 0,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHRUNs32bh),
                         MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
        23,
         OPC_CheckInteger, 1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHRUNs32th),
                         MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
        0,
       0,
      0,
     0,
    0,
   0,
  124|128,10,
   OPC_CheckChild0Integer, 109|128,30,
   OPC_RecordChild1,
   OPC_Scope, 57|128,5,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 29,
    OPC_MoveParent,
    OPC_Scope, 19|128,2,
     OPC_CheckChild4Integer, 0,
     OPC_MoveChild5,
     OPC_Scope, 5|128,1,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 63,
       OPC_CheckInteger, 0,
       OPC_MoveSibling7,
       OPC_CheckInteger, 0,
       OPC_MoveSibling, 8,
       OPC_Scope, 26,
        OPC_CheckInteger, 0,
        OPC_MoveSibling, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v8i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHRNi16bh),
                        MVT::v16i8, 6, 0, 1, 4, 5, 3, 6,
       26,
        OPC_CheckInteger, 1,
        OPC_MoveSibling, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v8i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHRNi16th),
                        MVT::v16i8, 6, 0, 1, 4, 5, 3, 6,
       0,
      63,
       OPC_CheckInteger, 1,
       OPC_MoveSibling7,
       OPC_CheckInteger, 1,
       OPC_MoveSibling, 8,
       OPC_Scope, 26,
        OPC_CheckInteger, 0,
        OPC_MoveSibling, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v8i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHRNi16bh),
                        MVT::v16i8, 6, 0, 1, 4, 5, 3, 6,
       26,
        OPC_CheckInteger, 1,
        OPC_MoveSibling, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v8i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHRNi16th),
                        MVT::v16i8, 6, 0, 1, 4, 5, 3, 6,
       0,
      0,
     5|128,1,
      OPC_CheckInteger, 1,
      OPC_MoveSibling6,
      OPC_Scope, 63,
       OPC_CheckInteger, 0,
       OPC_MoveSibling7,
       OPC_CheckInteger, 0,
       OPC_MoveSibling, 8,
       OPC_Scope, 26,
        OPC_CheckInteger, 0,
        OPC_MoveSibling, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v8i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHRNi16bh),
                        MVT::v16i8, 6, 0, 1, 4, 5, 3, 6,
       26,
        OPC_CheckInteger, 1,
        OPC_MoveSibling, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v8i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHRNi16th),
                        MVT::v16i8, 6, 0, 1, 4, 5, 3, 6,
       0,
      63,
       OPC_CheckInteger, 1,
       OPC_MoveSibling7,
       OPC_CheckInteger, 1,
       OPC_MoveSibling, 8,
       OPC_Scope, 26,
        OPC_CheckInteger, 0,
        OPC_MoveSibling, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v8i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHRNi16bh),
                        MVT::v16i8, 6, 0, 1, 4, 5, 3, 6,
       26,
        OPC_CheckInteger, 1,
        OPC_MoveSibling, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v8i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHRNi16th),
                        MVT::v16i8, 6, 0, 1, 4, 5, 3, 6,
       0,
      0,
     0,
    19|128,3,
     OPC_CheckChild4Integer, 1,
     OPC_MoveChild5,
     OPC_Scope, 69|128,1,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 63,
       OPC_CheckInteger, 0,
       OPC_MoveSibling7,
       OPC_CheckInteger, 0,
       OPC_MoveSibling, 8,
       OPC_Scope, 26,
        OPC_CheckInteger, 0,
        OPC_MoveSibling, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v8i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRNbhs16),
                        MVT::v16i8, 6, 0, 1, 4, 5, 3, 6,
       26,
        OPC_CheckInteger, 1,
        OPC_MoveSibling, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v8i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRNths16),
                        MVT::v16i8, 6, 0, 1, 4, 5, 3, 6,
       0,
      127,
       OPC_CheckInteger, 1,
       OPC_MoveSibling7,
       OPC_Scope, 60,
        OPC_CheckInteger, 1,
        OPC_MoveSibling, 8,
        OPC_Scope, 26,
         OPC_CheckInteger, 0,
         OPC_MoveSibling, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v8i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRNbhu16),
                         MVT::v16i8, 6, 0, 1, 4, 5, 3, 6,
        26,
         OPC_CheckInteger, 1,
         OPC_MoveSibling, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v8i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRNthu16),
                         MVT::v16i8, 6, 0, 1, 4, 5, 3, 6,
        0,
       60,
        OPC_CheckInteger, 0,
        OPC_MoveSibling, 8,
        OPC_Scope, 26,
         OPC_CheckInteger, 0,
         OPC_MoveSibling, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v8i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRUNs16bh),
                         MVT::v16i8, 6, 0, 1, 4, 5, 3, 6,
        26,
         OPC_CheckInteger, 1,
         OPC_MoveSibling, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v8i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRUNs16th),
                         MVT::v16i8, 6, 0, 1, 4, 5, 3, 6,
        0,
       0,
      0,
     69|128,1,
      OPC_CheckInteger, 1,
      OPC_MoveSibling6,
      OPC_Scope, 63,
       OPC_CheckInteger, 0,
       OPC_MoveSibling7,
       OPC_CheckInteger, 0,
       OPC_MoveSibling, 8,
       OPC_Scope, 26,
        OPC_CheckInteger, 0,
        OPC_MoveSibling, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v8i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHRNbhs16),
                        MVT::v16i8, 6, 0, 1, 4, 5, 3, 6,
       26,
        OPC_CheckInteger, 1,
        OPC_MoveSibling, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v8i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHRNths16),
                        MVT::v16i8, 6, 0, 1, 4, 5, 3, 6,
       0,
      127,
       OPC_CheckInteger, 1,
       OPC_MoveSibling7,
       OPC_Scope, 60,
        OPC_CheckInteger, 1,
        OPC_MoveSibling, 8,
        OPC_Scope, 26,
         OPC_CheckInteger, 0,
         OPC_MoveSibling, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v8i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHRNbhu16),
                         MVT::v16i8, 6, 0, 1, 4, 5, 3, 6,
        26,
         OPC_CheckInteger, 1,
         OPC_MoveSibling, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v8i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHRNthu16),
                         MVT::v16i8, 6, 0, 1, 4, 5, 3, 6,
        0,
       60,
        OPC_CheckInteger, 0,
        OPC_MoveSibling, 8,
        OPC_Scope, 26,
         OPC_CheckInteger, 0,
         OPC_MoveSibling, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v8i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHRUNs16bh),
                         MVT::v16i8, 6, 0, 1, 4, 5, 3, 6,
        26,
         OPC_CheckInteger, 1,
         OPC_MoveSibling, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v8i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHRUNs16th),
                         MVT::v16i8, 6, 0, 1, 4, 5, 3, 6,
        0,
       0,
      0,
     0,
    0,
   57|128,5,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_Scope, 19|128,2,
     OPC_CheckChild4Integer, 0,
     OPC_MoveChild5,
     OPC_Scope, 5|128,1,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 63,
       OPC_CheckInteger, 0,
       OPC_MoveSibling7,
       OPC_CheckInteger, 0,
       OPC_MoveSibling, 8,
       OPC_Scope, 26,
        OPC_CheckInteger, 0,
        OPC_MoveSibling, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v4i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHRNi32bh),
                        MVT::v8i16, 6, 0, 1, 4, 5, 3, 6,
       26,
        OPC_CheckInteger, 1,
        OPC_MoveSibling, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v4i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHRNi32th),
                        MVT::v8i16, 6, 0, 1, 4, 5, 3, 6,
       0,
      63,
       OPC_CheckInteger, 1,
       OPC_MoveSibling7,
       OPC_CheckInteger, 1,
       OPC_MoveSibling, 8,
       OPC_Scope, 26,
        OPC_CheckInteger, 0,
        OPC_MoveSibling, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v4i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHRNi32bh),
                        MVT::v8i16, 6, 0, 1, 4, 5, 3, 6,
       26,
        OPC_CheckInteger, 1,
        OPC_MoveSibling, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v4i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHRNi32th),
                        MVT::v8i16, 6, 0, 1, 4, 5, 3, 6,
       0,
      0,
     5|128,1,
      OPC_CheckInteger, 1,
      OPC_MoveSibling6,
      OPC_Scope, 63,
       OPC_CheckInteger, 0,
       OPC_MoveSibling7,
       OPC_CheckInteger, 0,
       OPC_MoveSibling, 8,
       OPC_Scope, 26,
        OPC_CheckInteger, 0,
        OPC_MoveSibling, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v4i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHRNi32bh),
                        MVT::v8i16, 6, 0, 1, 4, 5, 3, 6,
       26,
        OPC_CheckInteger, 1,
        OPC_MoveSibling, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v4i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHRNi32th),
                        MVT::v8i16, 6, 0, 1, 4, 5, 3, 6,
       0,
      63,
       OPC_CheckInteger, 1,
       OPC_MoveSibling7,
       OPC_CheckInteger, 1,
       OPC_MoveSibling, 8,
       OPC_Scope, 26,
        OPC_CheckInteger, 0,
        OPC_MoveSibling, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v4i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHRNi32bh),
                        MVT::v8i16, 6, 0, 1, 4, 5, 3, 6,
       26,
        OPC_CheckInteger, 1,
        OPC_MoveSibling, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v4i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHRNi32th),
                        MVT::v8i16, 6, 0, 1, 4, 5, 3, 6,
       0,
      0,
     0,
    19|128,3,
     OPC_CheckChild4Integer, 1,
     OPC_MoveChild5,
     OPC_Scope, 69|128,1,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 63,
       OPC_CheckInteger, 0,
       OPC_MoveSibling7,
       OPC_CheckInteger, 0,
       OPC_MoveSibling, 8,
       OPC_Scope, 26,
        OPC_CheckInteger, 0,
        OPC_MoveSibling, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v4i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRNbhs32),
                        MVT::v8i16, 6, 0, 1, 4, 5, 3, 6,
       26,
        OPC_CheckInteger, 1,
        OPC_MoveSibling, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v4i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRNths32),
                        MVT::v8i16, 6, 0, 1, 4, 5, 3, 6,
       0,
      127,
       OPC_CheckInteger, 1,
       OPC_MoveSibling7,
       OPC_Scope, 60,
        OPC_CheckInteger, 1,
        OPC_MoveSibling, 8,
        OPC_Scope, 26,
         OPC_CheckInteger, 0,
         OPC_MoveSibling, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v4i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRNbhu32),
                         MVT::v8i16, 6, 0, 1, 4, 5, 3, 6,
        26,
         OPC_CheckInteger, 1,
         OPC_MoveSibling, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v4i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRNthu32),
                         MVT::v8i16, 6, 0, 1, 4, 5, 3, 6,
        0,
       60,
        OPC_CheckInteger, 0,
        OPC_MoveSibling, 8,
        OPC_Scope, 26,
         OPC_CheckInteger, 0,
         OPC_MoveSibling, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v4i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRUNs32bh),
                         MVT::v8i16, 6, 0, 1, 4, 5, 3, 6,
        26,
         OPC_CheckInteger, 1,
         OPC_MoveSibling, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v4i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRUNs32th),
                         MVT::v8i16, 6, 0, 1, 4, 5, 3, 6,
        0,
       0,
      0,
     69|128,1,
      OPC_CheckInteger, 1,
      OPC_MoveSibling6,
      OPC_Scope, 63,
       OPC_CheckInteger, 0,
       OPC_MoveSibling7,
       OPC_CheckInteger, 0,
       OPC_MoveSibling, 8,
       OPC_Scope, 26,
        OPC_CheckInteger, 0,
        OPC_MoveSibling, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v4i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHRNbhs32),
                        MVT::v8i16, 6, 0, 1, 4, 5, 3, 6,
       26,
        OPC_CheckInteger, 1,
        OPC_MoveSibling, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v4i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHRNths32),
                        MVT::v8i16, 6, 0, 1, 4, 5, 3, 6,
       0,
      127,
       OPC_CheckInteger, 1,
       OPC_MoveSibling7,
       OPC_Scope, 60,
        OPC_CheckInteger, 1,
        OPC_MoveSibling, 8,
        OPC_Scope, 26,
         OPC_CheckInteger, 0,
         OPC_MoveSibling, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v4i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHRNbhu32),
                         MVT::v8i16, 6, 0, 1, 4, 5, 3, 6,
        26,
         OPC_CheckInteger, 1,
         OPC_MoveSibling, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v4i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHRNthu32),
                         MVT::v8i16, 6, 0, 1, 4, 5, 3, 6,
        0,
       60,
        OPC_CheckInteger, 0,
        OPC_MoveSibling, 8,
        OPC_Scope, 26,
         OPC_CheckInteger, 0,
         OPC_MoveSibling, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v4i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHRUNs32bh),
                         MVT::v8i16, 6, 0, 1, 4, 5, 3, 6,
        26,
         OPC_CheckInteger, 1,
         OPC_MoveSibling, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v4i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHRUNs32th),
                         MVT::v8i16, 6, 0, 1, 4, 5, 3, 6,
        0,
       0,
      0,
     0,
    0,
   0,
  110|128,3,
   OPC_CheckChild0Integer, 106|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 113|128,1, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 125,
     OPC_RecordChild2,
     OPC_Scope, 60,
      OPC_CheckChild3Integer, 0,
      OPC_Scope, 27,
       OPC_CheckChild4Integer, 0,
       OPC_CheckComplexPat, /*CP*/25, /*#*/1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_imms8bh),
                       MVT::v8i16, 6, 0, 2, 3, 4, 5, 6,
      27,
       OPC_CheckChild4Integer, 1,
       OPC_CheckComplexPat, /*CP*/25, /*#*/1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_imms8th),
                       MVT::v8i16, 6, 0, 2, 3, 4, 5, 6,
      0,
     60,
      OPC_CheckChild3Integer, 1,
      OPC_Scope, 27,
       OPC_CheckChild4Integer, 0,
       OPC_CheckComplexPat, /*CP*/25, /*#*/1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_immu8bh),
                       MVT::v8i16, 6, 0, 2, 3, 4, 5, 6,
      27,
       OPC_CheckChild4Integer, 1,
       OPC_CheckComplexPat, /*CP*/25, /*#*/1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_immu8th),
                       MVT::v8i16, 6, 0, 2, 3, 4, 5, 6,
      0,
     0,
    110,
     OPC_CheckChild2Integer, 8,
     OPC_Scope, 52,
      OPC_CheckChild3Integer, 0,
      OPC_Scope, 23,
       OPC_CheckChild4Integer, 0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_lws8bh),
                       MVT::v8i16, 5, 0, 1, 2, 3, 4,
      23,
       OPC_CheckChild4Integer, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_lws8th),
                       MVT::v8i16, 5, 0, 1, 2, 3, 4,
      0,
     52,
      OPC_CheckChild3Integer, 1,
      OPC_Scope, 23,
       OPC_CheckChild4Integer, 0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_lwu8bh),
                       MVT::v8i16, 5, 0, 1, 2, 3, 4,
      23,
       OPC_CheckChild4Integer, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_lwu8th),
                       MVT::v8i16, 5, 0, 1, 2, 3, 4,
      0,
     0,
    0,
   113|128,1, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 125,
     OPC_RecordChild2,
     OPC_Scope, 60,
      OPC_CheckChild3Integer, 0,
      OPC_Scope, 27,
       OPC_CheckChild4Integer, 0,
       OPC_CheckComplexPat, /*CP*/26, /*#*/1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_imms16bh),
                       MVT::v4i32, 6, 0, 2, 3, 4, 5, 6,
      27,
       OPC_CheckChild4Integer, 1,
       OPC_CheckComplexPat, /*CP*/26, /*#*/1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_imms16th),
                       MVT::v4i32, 6, 0, 2, 3, 4, 5, 6,
      0,
     60,
      OPC_CheckChild3Integer, 1,
      OPC_Scope, 27,
       OPC_CheckChild4Integer, 0,
       OPC_CheckComplexPat, /*CP*/26, /*#*/1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_immu16bh),
                       MVT::v4i32, 6, 0, 2, 3, 4, 5, 6,
      27,
       OPC_CheckChild4Integer, 1,
       OPC_CheckComplexPat, /*CP*/26, /*#*/1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_immu16th),
                       MVT::v4i32, 6, 0, 2, 3, 4, 5, 6,
      0,
     0,
    110,
     OPC_CheckChild2Integer, 16,
     OPC_Scope, 52,
      OPC_CheckChild3Integer, 0,
      OPC_Scope, 23,
       OPC_CheckChild4Integer, 0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_lws16bh),
                       MVT::v4i32, 5, 0, 1, 2, 3, 4,
      23,
       OPC_CheckChild4Integer, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_lws16th),
                       MVT::v4i32, 5, 0, 1, 2, 3, 4,
      0,
     52,
      OPC_CheckChild3Integer, 1,
      OPC_Scope, 23,
       OPC_CheckChild4Integer, 0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_lwu16bh),
                       MVT::v4i32, 5, 0, 1, 2, 3, 4,
      23,
       OPC_CheckChild4Integer, 1,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_lwu16th),
                       MVT::v4i32, 5, 0, 1, 2, 3, 4,
      0,
     0,
    0,
   0,
  94|128,3,
   OPC_CheckChild0Integer, 107|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 105|128,1, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 121,
     OPC_RecordChild2,
     OPC_Scope, 58,
      OPC_CheckChild3Integer, 0,
      OPC_Scope, 26,
       OPC_CheckChild4Integer, 0,
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v8i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i16,
       OPC_CheckComplexPat, /*CP*/25, /*#*/1,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_imms8bh),
                       MVT::v8i16, 6, 0, 4, 5, 2, 6, 3,
      26,
       OPC_CheckChild4Integer, 1,
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v8i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i16,
       OPC_CheckComplexPat, /*CP*/25, /*#*/1,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_imms8th),
                       MVT::v8i16, 6, 0, 4, 5, 2, 6, 3,
      0,
     58,
      OPC_CheckChild3Integer, 1,
      OPC_Scope, 26,
       OPC_CheckChild4Integer, 0,
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v8i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i16,
       OPC_CheckComplexPat, /*CP*/25, /*#*/1,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_immu8bh),
                       MVT::v8i16, 6, 0, 4, 5, 2, 6, 3,
      26,
       OPC_CheckChild4Integer, 1,
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v8i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i16,
       OPC_CheckComplexPat, /*CP*/25, /*#*/1,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_immu8th),
                       MVT::v8i16, 6, 0, 4, 5, 2, 6, 3,
      0,
     0,
    106,
     OPC_CheckChild2Integer, 8,
     OPC_Scope, 50,
      OPC_CheckChild3Integer, 0,
      OPC_Scope, 22,
       OPC_CheckChild4Integer, 0,
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v8i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_lws8bh),
                       MVT::v8i16, 5, 0, 3, 1, 4, 2,
      22,
       OPC_CheckChild4Integer, 1,
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v8i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_lws8th),
                       MVT::v8i16, 5, 0, 3, 1, 4, 2,
      0,
     50,
      OPC_CheckChild3Integer, 1,
      OPC_Scope, 22,
       OPC_CheckChild4Integer, 0,
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v8i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_lwu8bh),
                       MVT::v8i16, 5, 0, 3, 1, 4, 2,
      22,
       OPC_CheckChild4Integer, 1,
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v8i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_lwu8th),
                       MVT::v8i16, 5, 0, 3, 1, 4, 2,
      0,
     0,
    0,
   105|128,1, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 121,
     OPC_RecordChild2,
     OPC_Scope, 58,
      OPC_CheckChild3Integer, 0,
      OPC_Scope, 26,
       OPC_CheckChild4Integer, 0,
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v4i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i32,
       OPC_CheckComplexPat, /*CP*/26, /*#*/1,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_imms16bh),
                       MVT::v4i32, 6, 0, 4, 5, 2, 6, 3,
      26,
       OPC_CheckChild4Integer, 1,
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v4i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i32,
       OPC_CheckComplexPat, /*CP*/26, /*#*/1,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_imms16th),
                       MVT::v4i32, 6, 0, 4, 5, 2, 6, 3,
      0,
     58,
      OPC_CheckChild3Integer, 1,
      OPC_Scope, 26,
       OPC_CheckChild4Integer, 0,
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v4i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i32,
       OPC_CheckComplexPat, /*CP*/26, /*#*/1,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_immu16bh),
                       MVT::v4i32, 6, 0, 4, 5, 2, 6, 3,
      26,
       OPC_CheckChild4Integer, 1,
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v4i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i32,
       OPC_CheckComplexPat, /*CP*/26, /*#*/1,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_immu16th),
                       MVT::v4i32, 6, 0, 4, 5, 2, 6, 3,
      0,
     0,
    106,
     OPC_CheckChild2Integer, 16,
     OPC_Scope, 50,
      OPC_CheckChild3Integer, 0,
      OPC_Scope, 22,
       OPC_CheckChild4Integer, 0,
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v4i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_lws16bh),
                       MVT::v4i32, 5, 0, 3, 1, 4, 2,
      22,
       OPC_CheckChild4Integer, 1,
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v4i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_lws16th),
                       MVT::v4i32, 5, 0, 3, 1, 4, 2,
      0,
     50,
      OPC_CheckChild3Integer, 1,
      OPC_Scope, 22,
       OPC_CheckChild4Integer, 0,
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v4i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_lwu16bh),
                       MVT::v4i32, 5, 0, 3, 1, 4, 2,
      22,
       OPC_CheckChild4Integer, 1,
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v4i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHLL_lwu16th),
                       MVT::v4i32, 5, 0, 3, 1, 4, 2,
      0,
     0,
    0,
   0,
  45|128,6,
   OPC_CheckChild0Integer, 102|128,30,
   OPC_RecordChild1,
   OPC_Scope, 11|128,2,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 0|128,1,
     OPC_CheckChild3Integer, 0,
     OPC_Scope, 61,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 27,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecs8),
                       MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
      27,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecu8),
                       MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
      0,
     61,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 27,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHL_by_vecs8),
                       MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
      27,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHL_by_vecu8),
                       MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
      0,
     0,
    0|128,1,
     OPC_CheckChild3Integer, 1,
     OPC_Scope, 61,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 27,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHL_by_vecs8),
                       MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
      27,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHL_by_vecu8),
                       MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
      0,
     61,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 27,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHL_by_vecs8),
                       MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
      27,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHL_by_vecu8),
                       MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
      0,
     0,
    0,
   11|128,2,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 0|128,1,
     OPC_CheckChild3Integer, 0,
     OPC_Scope, 61,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 27,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecs16),
                       MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
      27,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecu16),
                       MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
      0,
     61,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 27,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHL_by_vecs16),
                       MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
      27,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHL_by_vecu16),
                       MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
      0,
     0,
    0|128,1,
     OPC_CheckChild3Integer, 1,
     OPC_Scope, 61,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 27,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHL_by_vecs16),
                       MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
      27,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHL_by_vecu16),
                       MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
      0,
     61,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 27,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHL_by_vecs16),
                       MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
      27,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHL_by_vecu16),
                       MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
      0,
     0,
    0,
   11|128,2,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 0|128,1,
     OPC_CheckChild3Integer, 0,
     OPC_Scope, 61,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 27,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecs32),
                       MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
      27,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecu32),
                       MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
      0,
     61,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 27,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHL_by_vecs32),
                       MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
      27,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHL_by_vecu32),
                       MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
      0,
     0,
    0|128,1,
     OPC_CheckChild3Integer, 1,
     OPC_Scope, 61,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 27,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHL_by_vecs32),
                       MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
      27,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHL_by_vecu32),
                       MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
      0,
     61,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 27,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHL_by_vecs32),
                       MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
      27,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHL_by_vecu32),
                       MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
      0,
     0,
    0,
   0,
  10|128,7,
   OPC_CheckChild0Integer, 103|128,30,
   OPC_RecordChild1,
   OPC_Scope, 42|128,2,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 36|128,1,
     OPC_CheckChild3Integer, 0,
     OPC_Scope, 99,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 46,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i8,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 15,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecs8),
                        MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
       16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecs8),
                        MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
       0,
      46,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i8,
       OPC_CheckType, MVT::v16i8,
       OPC_Scope, 15,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecu8),
                        MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
       16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecu8),
                        MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
       0,
      0,
     59,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 26,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i8,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHL_by_vecs8),
                       MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
      26,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i8,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHL_by_vecu8),
                       MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
      0,
     0,
    124,
     OPC_CheckChild3Integer, 1,
     OPC_Scope, 59,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 26,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i8,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHL_by_vecs8),
                       MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
      26,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i8,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHL_by_vecu8),
                       MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
      0,
     59,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 26,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i8,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHL_by_vecs8),
                       MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
      26,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i8,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHL_by_vecu8),
                       MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
      0,
     0,
    0,
   42|128,2,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 36|128,1,
     OPC_CheckChild3Integer, 0,
     OPC_Scope, 99,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 46,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i16,
       OPC_CheckType, MVT::v8i16,
       OPC_Scope, 15,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecs16),
                        MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
       16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecs16),
                        MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
       0,
      46,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i16,
       OPC_CheckType, MVT::v8i16,
       OPC_Scope, 15,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecu16),
                        MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
       16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecu16),
                        MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
       0,
      0,
     59,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 26,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i16,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHL_by_vecs16),
                       MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
      26,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i16,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHL_by_vecu16),
                       MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
      0,
     0,
    124,
     OPC_CheckChild3Integer, 1,
     OPC_Scope, 59,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 26,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i16,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHL_by_vecs16),
                       MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
      26,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i16,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHL_by_vecu16),
                       MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
      0,
     59,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 26,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i16,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHL_by_vecs16),
                       MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
      26,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i16,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHL_by_vecu16),
                       MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
      0,
     0,
    0,
   42|128,2,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 36|128,1,
     OPC_CheckChild3Integer, 0,
     OPC_Scope, 99,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 46,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i32,
       OPC_CheckType, MVT::v4i32,
       OPC_Scope, 15,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecs32),
                        MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
       16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecs32),
                        MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
       0,
      46,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i32,
       OPC_CheckType, MVT::v4i32,
       OPC_Scope, 15,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecu32),
                        MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
       16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecu32),
                        MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
       0,
      0,
     59,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 26,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i32,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHL_by_vecs32),
                       MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
      26,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i32,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHL_by_vecu32),
                       MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
      0,
     0,
    124,
     OPC_CheckChild3Integer, 1,
     OPC_Scope, 59,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 26,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i32,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHL_by_vecs32),
                       MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
      26,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i32,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHL_by_vecu32),
                       MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
      0,
     59,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 26,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i32,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHL_by_vecs32),
                       MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
      26,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i32,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHL_by_vecu32),
                       MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
      0,
     0,
    0,
   0,
  62|128,5,
   OPC_CheckChild0Integer, 58|128,30,
   OPC_RecordChild1,
   OPC_Scope, 102|128,1,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_Scope, 109,
     OPC_CheckChild4Integer, 0,
     OPC_MoveChild5,
     OPC_Scope, 51,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLADHs8),
                       MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLSDHs8),
                       MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
      0,
     51,
      OPC_CheckInteger, 1,
      OPC_MoveSibling6,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLADHs8),
                       MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLSDHs8),
                       MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
      0,
     0,
    109,
     OPC_CheckChild4Integer, 1,
     OPC_MoveChild5,
     OPC_Scope, 51,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLADHXs8),
                       MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLSDHXs8),
                       MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
      0,
     51,
      OPC_CheckInteger, 1,
      OPC_MoveSibling6,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLADHXs8),
                       MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLSDHXs8),
                       MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
      0,
     0,
    0,
   102|128,1,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_Scope, 109,
     OPC_CheckChild4Integer, 0,
     OPC_MoveChild5,
     OPC_Scope, 51,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLADHs16),
                       MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLSDHs16),
                       MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
      0,
     51,
      OPC_CheckInteger, 1,
      OPC_MoveSibling6,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLADHs16),
                       MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLSDHs16),
                       MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
      0,
     0,
    109,
     OPC_CheckChild4Integer, 1,
     OPC_MoveChild5,
     OPC_Scope, 51,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLADHXs16),
                       MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLSDHXs16),
                       MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
      0,
     51,
      OPC_CheckInteger, 1,
      OPC_MoveSibling6,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLADHXs16),
                       MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLSDHXs16),
                       MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
      0,
     0,
    0,
   102|128,1,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_Scope, 109,
     OPC_CheckChild4Integer, 0,
     OPC_MoveChild5,
     OPC_Scope, 51,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLADHs32),
                       MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLSDHs32),
                       MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
      0,
     51,
      OPC_CheckInteger, 1,
      OPC_MoveSibling6,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLADHs32),
                       MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLSDHs32),
                       MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
      0,
     0,
    109,
     OPC_CheckChild4Integer, 1,
     OPC_MoveChild5,
     OPC_Scope, 51,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLADHXs32),
                       MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLSDHXs32),
                       MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
      0,
     51,
      OPC_CheckInteger, 1,
      OPC_MoveSibling6,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLADHXs32),
                       MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLSDHXs32),
                       MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
      0,
     0,
    0,
   0,
  86|128,5,
   OPC_CheckChild0Integer, 59|128,30,
   OPC_RecordChild1,
   OPC_Scope, 110|128,1,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_Scope, 113,
     OPC_CheckChild4Integer, 0,
     OPC_MoveChild5,
     OPC_Scope, 53,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 23,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLADHs8),
                       MVT::v16i8, 6, 0, 1, 2, 4, 3, 5,
      23,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLSDHs8),
                       MVT::v16i8, 6, 0, 1, 2, 4, 3, 5,
      0,
     53,
      OPC_CheckInteger, 1,
      OPC_MoveSibling6,
      OPC_Scope, 23,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLADHs8),
                       MVT::v16i8, 6, 0, 1, 2, 4, 3, 5,
      23,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLSDHs8),
                       MVT::v16i8, 6, 0, 1, 2, 4, 3, 5,
      0,
     0,
    113,
     OPC_CheckChild4Integer, 1,
     OPC_MoveChild5,
     OPC_Scope, 53,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 23,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLADHXs8),
                       MVT::v16i8, 6, 0, 1, 2, 4, 3, 5,
      23,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLSDHXs8),
                       MVT::v16i8, 6, 0, 1, 2, 4, 3, 5,
      0,
     53,
      OPC_CheckInteger, 1,
      OPC_MoveSibling6,
      OPC_Scope, 23,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLADHXs8),
                       MVT::v16i8, 6, 0, 1, 2, 4, 3, 5,
      23,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLSDHXs8),
                       MVT::v16i8, 6, 0, 1, 2, 4, 3, 5,
      0,
     0,
    0,
   110|128,1,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_Scope, 113,
     OPC_CheckChild4Integer, 0,
     OPC_MoveChild5,
     OPC_Scope, 53,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 23,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLADHs16),
                       MVT::v8i16, 6, 0, 1, 2, 4, 3, 5,
      23,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLSDHs16),
                       MVT::v8i16, 6, 0, 1, 2, 4, 3, 5,
      0,
     53,
      OPC_CheckInteger, 1,
      OPC_MoveSibling6,
      OPC_Scope, 23,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLADHs16),
                       MVT::v8i16, 6, 0, 1, 2, 4, 3, 5,
      23,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLSDHs16),
                       MVT::v8i16, 6, 0, 1, 2, 4, 3, 5,
      0,
     0,
    113,
     OPC_CheckChild4Integer, 1,
     OPC_MoveChild5,
     OPC_Scope, 53,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 23,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLADHXs16),
                       MVT::v8i16, 6, 0, 1, 2, 4, 3, 5,
      23,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLSDHXs16),
                       MVT::v8i16, 6, 0, 1, 2, 4, 3, 5,
      0,
     53,
      OPC_CheckInteger, 1,
      OPC_MoveSibling6,
      OPC_Scope, 23,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLADHXs16),
                       MVT::v8i16, 6, 0, 1, 2, 4, 3, 5,
      23,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLSDHXs16),
                       MVT::v8i16, 6, 0, 1, 2, 4, 3, 5,
      0,
     0,
    0,
   110|128,1,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_Scope, 113,
     OPC_CheckChild4Integer, 0,
     OPC_MoveChild5,
     OPC_Scope, 53,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 23,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLADHs32),
                       MVT::v4i32, 6, 0, 1, 2, 4, 3, 5,
      23,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLSDHs32),
                       MVT::v4i32, 6, 0, 1, 2, 4, 3, 5,
      0,
     53,
      OPC_CheckInteger, 1,
      OPC_MoveSibling6,
      OPC_Scope, 23,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLADHs32),
                       MVT::v4i32, 6, 0, 1, 2, 4, 3, 5,
      23,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLSDHs32),
                       MVT::v4i32, 6, 0, 1, 2, 4, 3, 5,
      0,
     0,
    113,
     OPC_CheckChild4Integer, 1,
     OPC_MoveChild5,
     OPC_Scope, 53,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 23,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLADHXs32),
                       MVT::v4i32, 6, 0, 1, 2, 4, 3, 5,
      23,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLSDHXs32),
                       MVT::v4i32, 6, 0, 1, 2, 4, 3, 5,
      0,
     53,
      OPC_CheckInteger, 1,
      OPC_MoveSibling6,
      OPC_Scope, 23,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLADHXs32),
                       MVT::v4i32, 6, 0, 1, 2, 4, 3, 5,
      23,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLSDHXs32),
                       MVT::v4i32, 6, 0, 1, 2, 4, 3, 5,
      0,
     0,
    0,
   0,
  82|128,2,
   OPC_CheckChild0Integer, 67|128,30,
   OPC_RecordChild1,
   OPC_Scope, 36|128,1,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 51,
     OPC_CheckChild3Integer, 0,
     OPC_CheckChild4Integer, 0,
     OPC_MoveChild5,
     OPC_Scope, 21,
      OPC_CheckInteger, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVNs32bh),
                      MVT::v8i16, 5, 0, 1, 2, 3, 4,
     21,
      OPC_CheckInteger, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVNs32th),
                      MVT::v8i16, 5, 0, 1, 2, 3, 4,
     0,
    104,
     OPC_CheckChild3Integer, 1,
     OPC_Scope, 49,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 21,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVNu32bh),
                       MVT::v8i16, 5, 0, 1, 2, 3, 4,
      21,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVNu32th),
                       MVT::v8i16, 5, 0, 1, 2, 3, 4,
      0,
     49,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 21,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVUNs32bh),
                       MVT::v8i16, 5, 0, 1, 2, 3, 4,
      21,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVUNs32th),
                       MVT::v8i16, 5, 0, 1, 2, 3, 4,
      0,
     0,
    0,
   36|128,1,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 51,
     OPC_CheckChild3Integer, 0,
     OPC_CheckChild4Integer, 0,
     OPC_MoveChild5,
     OPC_Scope, 21,
      OPC_CheckInteger, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVNs16bh),
                      MVT::v16i8, 5, 0, 1, 2, 3, 4,
     21,
      OPC_CheckInteger, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVNs16th),
                      MVT::v16i8, 5, 0, 1, 2, 3, 4,
     0,
    104,
     OPC_CheckChild3Integer, 1,
     OPC_Scope, 49,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 21,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVNu16bh),
                       MVT::v16i8, 5, 0, 1, 2, 3, 4,
      21,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVNu16th),
                       MVT::v16i8, 5, 0, 1, 2, 3, 4,
      0,
     49,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 21,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVUNs16bh),
                       MVT::v16i8, 5, 0, 1, 2, 3, 4,
      21,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVUNs16th),
                       MVT::v16i8, 5, 0, 1, 2, 3, 4,
      0,
     0,
    0,
   0,
  94|128,2,
   OPC_CheckChild0Integer, 68|128,30,
   OPC_RecordChild1,
   OPC_Scope, 42|128,1,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 53,
     OPC_CheckChild3Integer, 0,
     OPC_CheckChild4Integer, 0,
     OPC_MoveChild5,
     OPC_Scope, 22,
      OPC_CheckInteger, 0,
      OPC_MoveParent,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v4i1,
      OPC_CheckType, MVT::v8i16,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVNs32bh),
                      MVT::v8i16, 5, 0, 1, 3, 2, 4,
     22,
      OPC_CheckInteger, 1,
      OPC_MoveParent,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v4i1,
      OPC_CheckType, MVT::v8i16,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVNs32th),
                      MVT::v8i16, 5, 0, 1, 3, 2, 4,
     0,
    108,
     OPC_CheckChild3Integer, 1,
     OPC_Scope, 51,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVNu32bh),
                       MVT::v8i16, 5, 0, 1, 3, 2, 4,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVNu32th),
                       MVT::v8i16, 5, 0, 1, 3, 2, 4,
      0,
     51,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVUNs32bh),
                       MVT::v8i16, 5, 0, 1, 3, 2, 4,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVUNs32th),
                       MVT::v8i16, 5, 0, 1, 3, 2, 4,
      0,
     0,
    0,
   42|128,1,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 53,
     OPC_CheckChild3Integer, 0,
     OPC_CheckChild4Integer, 0,
     OPC_MoveChild5,
     OPC_Scope, 22,
      OPC_CheckInteger, 0,
      OPC_MoveParent,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v8i1,
      OPC_CheckType, MVT::v16i8,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVNs16bh),
                      MVT::v16i8, 5, 0, 1, 3, 2, 4,
     22,
      OPC_CheckInteger, 1,
      OPC_MoveParent,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v8i1,
      OPC_CheckType, MVT::v16i8,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVNs16th),
                      MVT::v16i8, 5, 0, 1, 3, 2, 4,
     0,
    108,
     OPC_CheckChild3Integer, 1,
     OPC_Scope, 51,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVNu16bh),
                       MVT::v16i8, 5, 0, 1, 3, 2, 4,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVNu16th),
                       MVT::v16i8, 5, 0, 1, 3, 2, 4,
      0,
     51,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVUNs16bh),
                       MVT::v16i8, 5, 0, 1, 3, 2, 4,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVUNs16th),
                       MVT::v16i8, 5, 0, 1, 3, 2, 4,
      0,
     0,
    0,
   0,
  17|128,5,
   OPC_CheckChild0Integer, 100|128,30,
   OPC_RecordChild1,
   OPC_Scope, 87|128,1,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_Scope, 104,
     OPC_CheckChild3Integer, 0,
     OPC_Scope, 49,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 21,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_qrs8),
                       MVT::v16i8, 5, 0, 1, 2, 3, 4,
      21,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_qru8),
                       MVT::v16i8, 5, 0, 1, 2, 3, 4,
      0,
     49,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 21,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHL_qrs8),
                       MVT::v16i8, 5, 0, 1, 2, 3, 4,
      21,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHL_qru8),
                       MVT::v16i8, 5, 0, 1, 2, 3, 4,
      0,
     0,
    104,
     OPC_CheckChild3Integer, 1,
     OPC_Scope, 49,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 21,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHL_qrs8),
                       MVT::v16i8, 5, 0, 1, 2, 3, 4,
      21,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHL_qru8),
                       MVT::v16i8, 5, 0, 1, 2, 3, 4,
      0,
     49,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 21,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHL_qrs8),
                       MVT::v16i8, 5, 0, 1, 2, 3, 4,
      21,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHL_qru8),
                       MVT::v16i8, 5, 0, 1, 2, 3, 4,
      0,
     0,
    0,
   87|128,1,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_Scope, 104,
     OPC_CheckChild3Integer, 0,
     OPC_Scope, 49,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 21,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_qrs16),
                       MVT::v8i16, 5, 0, 1, 2, 3, 4,
      21,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_qru16),
                       MVT::v8i16, 5, 0, 1, 2, 3, 4,
      0,
     49,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 21,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHL_qrs16),
                       MVT::v8i16, 5, 0, 1, 2, 3, 4,
      21,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHL_qru16),
                       MVT::v8i16, 5, 0, 1, 2, 3, 4,
      0,
     0,
    104,
     OPC_CheckChild3Integer, 1,
     OPC_Scope, 49,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 21,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHL_qrs16),
                       MVT::v8i16, 5, 0, 1, 2, 3, 4,
      21,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHL_qru16),
                       MVT::v8i16, 5, 0, 1, 2, 3, 4,
      0,
     49,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 21,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHL_qrs16),
                       MVT::v8i16, 5, 0, 1, 2, 3, 4,
      21,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHL_qru16),
                       MVT::v8i16, 5, 0, 1, 2, 3, 4,
      0,
     0,
    0,
   87|128,1,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_Scope, 104,
     OPC_CheckChild3Integer, 0,
     OPC_Scope, 49,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 21,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_qrs32),
                       MVT::v4i32, 5, 0, 1, 2, 3, 4,
      21,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_qru32),
                       MVT::v4i32, 5, 0, 1, 2, 3, 4,
      0,
     49,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 21,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHL_qrs32),
                       MVT::v4i32, 5, 0, 1, 2, 3, 4,
      21,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHL_qru32),
                       MVT::v4i32, 5, 0, 1, 2, 3, 4,
      0,
     0,
    104,
     OPC_CheckChild3Integer, 1,
     OPC_Scope, 49,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 21,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHL_qrs32),
                       MVT::v4i32, 5, 0, 1, 2, 3, 4,
      21,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHL_qru32),
                       MVT::v4i32, 5, 0, 1, 2, 3, 4,
      0,
     49,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 21,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHL_qrs32),
                       MVT::v4i32, 5, 0, 1, 2, 3, 4,
      21,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHL_qru32),
                       MVT::v4i32, 5, 0, 1, 2, 3, 4,
      0,
     0,
    0,
   0,
  41|128,5,
   OPC_CheckChild0Integer, 101|128,30,
   OPC_RecordChild1,
   OPC_Scope, 95|128,1,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_Scope, 108,
     OPC_CheckChild3Integer, 0,
     OPC_Scope, 51,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_qrs8),
                       MVT::v16i8, 5, 0, 1, 3, 2, 4,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_qru8),
                       MVT::v16i8, 5, 0, 1, 3, 2, 4,
      0,
     51,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHL_qrs8),
                       MVT::v16i8, 5, 0, 1, 3, 2, 4,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHL_qru8),
                       MVT::v16i8, 5, 0, 1, 3, 2, 4,
      0,
     0,
    108,
     OPC_CheckChild3Integer, 1,
     OPC_Scope, 51,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHL_qrs8),
                       MVT::v16i8, 5, 0, 1, 3, 2, 4,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHL_qru8),
                       MVT::v16i8, 5, 0, 1, 3, 2, 4,
      0,
     51,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHL_qrs8),
                       MVT::v16i8, 5, 0, 1, 3, 2, 4,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHL_qru8),
                       MVT::v16i8, 5, 0, 1, 3, 2, 4,
      0,
     0,
    0,
   95|128,1,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_Scope, 108,
     OPC_CheckChild3Integer, 0,
     OPC_Scope, 51,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_qrs16),
                       MVT::v8i16, 5, 0, 1, 3, 2, 4,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_qru16),
                       MVT::v8i16, 5, 0, 1, 3, 2, 4,
      0,
     51,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHL_qrs16),
                       MVT::v8i16, 5, 0, 1, 3, 2, 4,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHL_qru16),
                       MVT::v8i16, 5, 0, 1, 3, 2, 4,
      0,
     0,
    108,
     OPC_CheckChild3Integer, 1,
     OPC_Scope, 51,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHL_qrs16),
                       MVT::v8i16, 5, 0, 1, 3, 2, 4,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHL_qru16),
                       MVT::v8i16, 5, 0, 1, 3, 2, 4,
      0,
     51,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHL_qrs16),
                       MVT::v8i16, 5, 0, 1, 3, 2, 4,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHL_qru16),
                       MVT::v8i16, 5, 0, 1, 3, 2, 4,
      0,
     0,
    0,
   95|128,1,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_Scope, 108,
     OPC_CheckChild3Integer, 0,
     OPC_Scope, 51,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_qrs32),
                       MVT::v4i32, 5, 0, 1, 3, 2, 4,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_qru32),
                       MVT::v4i32, 5, 0, 1, 3, 2, 4,
      0,
     51,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHL_qrs32),
                       MVT::v4i32, 5, 0, 1, 3, 2, 4,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHL_qru32),
                       MVT::v4i32, 5, 0, 1, 3, 2, 4,
      0,
     0,
    108,
     OPC_CheckChild3Integer, 1,
     OPC_Scope, 51,
      OPC_CheckChild4Integer, 0,
      OPC_MoveChild5,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHL_qrs32),
                       MVT::v4i32, 5, 0, 1, 3, 2, 4,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHL_qru32),
                       MVT::v4i32, 5, 0, 1, 3, 2, 4,
      0,
     51,
      OPC_CheckChild4Integer, 1,
      OPC_MoveChild5,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHL_qrs32),
                       MVT::v4i32, 5, 0, 1, 3, 2, 4,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRSHL_qru32),
                       MVT::v4i32, 5, 0, 1, 3, 2, 4,
      0,
     0,
    0,
   0,
  11|128,1,
   OPC_CheckChild0Integer, 15|128,31,
   OPC_RecordChild1,
   OPC_Scope, 61,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_Scope, 37,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VUDOTDI),
                     MVT::v2i32, 4, 0, 1, 2, 4,
    15,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i8,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate, 69,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VUDOTD),
                     MVT::v2i32, 3, 0, 1, 2,
    0,
   70,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 46,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_EmitIntegerI32, ARM::dsub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 4,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VUDOTQI),
                     MVT::v4i32, 4, 0, 1, 5, 6,
    15,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 69,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VUDOTQ),
                     MVT::v4i32, 3, 0, 1, 2,
    0,
   0,
  11|128,1,
   OPC_CheckChild0Integer, 3|128,31,
   OPC_RecordChild1,
   OPC_Scope, 61,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_Scope, 37,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSDOTDI),
                     MVT::v2i32, 4, 0, 1, 2, 4,
    15,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i8,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate, 69,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSDOTD),
                     MVT::v2i32, 3, 0, 1, 2,
    0,
   70,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 46,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_EmitIntegerI32, ARM::dsub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 4,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSDOTQI),
                     MVT::v4i32, 4, 0, 1, 5, 6,
    15,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 69,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSDOTQ),
                     MVT::v4i32, 3, 0, 1, 2,
    0,
   0,
  116|128,1,
   OPC_CheckChild0Integer, 17|128,31,
   OPC_RecordChild1,
   OPC_Scope, 109,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_Scope, 42,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i8,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate, 51,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VUSDOTDI),
                     MVT::v2i32, 4, 0, 1, 2, 4,
    42,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i8,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate, 51,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUDOTDI),
                     MVT::v2i32, 4, 0, 3, 1, 4,
    18,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i8,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i8,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate, 51,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VUSDOTD),
                     MVT::v2i32, 3, 0, 1, 2,
    0,
   127,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 51,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 51,
     OPC_EmitIntegerI32, ARM::dsub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 4,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VUSDOTQI),
                     MVT::v4i32, 4, 0, 1, 5, 6,
    51,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 51,
     OPC_EmitIntegerI32, ARM::dsub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 1, 4,
     OPC_EmitConvertToTarget2,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUDOTQI),
                     MVT::v4i32, 4, 0, 3, 5, 6,
    18,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 51,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VUSDOTQ),
                     MVT::v4i32, 3, 0, 1, 2,
    0,
   0,
  94|128,1,
   OPC_CheckChild0Integer, 52|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 106, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 50,
     OPC_CheckChild2Integer, 0,
     OPC_Scope, 22,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVLs8bh),
                      MVT::v8i16, 5, 0, 3, 1, 4, 2,
     22,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVLs8th),
                      MVT::v8i16, 5, 0, 3, 1, 4, 2,
     0,
    50,
     OPC_CheckChild2Integer, 1,
     OPC_Scope, 22,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVLu8bh),
                      MVT::v8i16, 5, 0, 3, 1, 4, 2,
     22,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVLu8th),
                      MVT::v8i16, 5, 0, 3, 1, 4, 2,
     0,
    0,
   106, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 50,
     OPC_CheckChild2Integer, 0,
     OPC_Scope, 22,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVLs16bh),
                      MVT::v4i32, 5, 0, 3, 1, 4, 2,
     22,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVLs16th),
                      MVT::v4i32, 5, 0, 3, 1, 4, 2,
     0,
    50,
     OPC_CheckChild2Integer, 1,
     OPC_Scope, 22,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVLu16bh),
                      MVT::v4i32, 5, 0, 3, 1, 4, 2,
     22,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVLu16th),
                      MVT::v4i32, 5, 0, 3, 1, 4, 2,
     0,
    0,
   0,
  119|128,2,
   OPC_CheckChild0Integer, 56|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 121, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 56,
     OPC_CheckChild3Integer, 0,
     OPC_Scope, 25,
      OPC_CheckChild4Integer, 0,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLBs8),
                      MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
     25,
      OPC_CheckChild4Integer, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTs8),
                      MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
     0,
    56,
     OPC_CheckChild3Integer, 1,
     OPC_Scope, 25,
      OPC_CheckChild4Integer, 0,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLBu8),
                      MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
     25,
      OPC_CheckChild4Integer, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu8),
                      MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
     0,
    0,
   121, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 56,
     OPC_CheckChild3Integer, 0,
     OPC_Scope, 25,
      OPC_CheckChild4Integer, 0,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLBs16),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     25,
      OPC_CheckChild4Integer, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTs16),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     0,
    56,
     OPC_CheckChild3Integer, 1,
     OPC_Scope, 25,
      OPC_CheckChild4Integer, 0,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLBu16),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     25,
      OPC_CheckChild4Integer, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu16),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     0,
    0,
   121, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 56,
     OPC_CheckChild3Integer, 0,
     OPC_Scope, 25,
      OPC_CheckChild4Integer, 0,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLBs32),
                      MVT::v2i64, 6, 0, 1, 2, 3, 4, 5,
     25,
      OPC_CheckChild4Integer, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTs32),
                      MVT::v2i64, 6, 0, 1, 2, 3, 4, 5,
     0,
    56,
     OPC_CheckChild3Integer, 1,
     OPC_Scope, 25,
      OPC_CheckChild4Integer, 0,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLBu32),
                      MVT::v2i64, 6, 0, 1, 2, 3, 4, 5,
     25,
      OPC_CheckChild4Integer, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu32),
                      MVT::v2i64, 6, 0, 1, 2, 3, 4, 5,
     0,
    0,
   0,
  107|128,2,
   OPC_CheckChild0Integer, 83|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 117, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 54,
     OPC_CheckChild3Integer, 0,
     OPC_Scope, 24,
      OPC_CheckChild4Integer, 0,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i1,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLBs8),
                      MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
     24,
      OPC_CheckChild4Integer, 1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i1,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTs8),
                      MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
     0,
    54,
     OPC_CheckChild3Integer, 1,
     OPC_Scope, 24,
      OPC_CheckChild4Integer, 0,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i1,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLBu8),
                      MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
     24,
      OPC_CheckChild4Integer, 1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i1,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu8),
                      MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
     0,
    0,
   117, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 54,
     OPC_CheckChild3Integer, 0,
     OPC_Scope, 24,
      OPC_CheckChild4Integer, 0,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i1,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLBs16),
                      MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
     24,
      OPC_CheckChild4Integer, 1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i1,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTs16),
                      MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
     0,
    54,
     OPC_CheckChild3Integer, 1,
     OPC_Scope, 24,
      OPC_CheckChild4Integer, 0,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i1,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLBu16),
                      MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
     24,
      OPC_CheckChild4Integer, 1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i1,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu16),
                      MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
     0,
    0,
   117, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 54,
     OPC_CheckChild3Integer, 0,
     OPC_Scope, 24,
      OPC_CheckChild4Integer, 0,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v2i1,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLBs32),
                      MVT::v2i64, 6, 0, 1, 4, 2, 5, 3,
     24,
      OPC_CheckChild4Integer, 1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v2i1,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTs32),
                      MVT::v2i64, 6, 0, 1, 4, 2, 5, 3,
     0,
    54,
     OPC_CheckChild3Integer, 1,
     OPC_Scope, 24,
      OPC_CheckChild4Integer, 0,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v2i1,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLBu32),
                      MVT::v2i64, 6, 0, 1, 4, 2, 5, 3,
     24,
      OPC_CheckChild4Integer, 1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v2i1,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu32),
                      MVT::v2i64, 6, 0, 1, 4, 2, 5, 3,
     0,
    0,
   0,
  79|128,1,
   OPC_CheckChild0Integer, 74|128,30,
   OPC_RecordChild1,
   OPC_Scope, 66,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 28,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_Scope, 25,
     OPC_CheckChild3Integer, 0,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHLimms8),
                     MVT::v16i8, 6, 0, 2, 3, 4, 5, 6,
    25,
     OPC_CheckChild3Integer, 1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHLimmu8),
                     MVT::v16i8, 6, 0, 2, 3, 4, 5, 6,
    0,
   66,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 23,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_Scope, 25,
     OPC_CheckChild3Integer, 0,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHLimms16),
                     MVT::v8i16, 6, 0, 2, 3, 4, 5, 6,
    25,
     OPC_CheckChild3Integer, 1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHLimmu16),
                     MVT::v8i16, 6, 0, 2, 3, 4, 5, 6,
    0,
   66,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_Scope, 25,
     OPC_CheckChild3Integer, 0,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHLimms32),
                     MVT::v4i32, 6, 0, 2, 3, 4, 5, 6,
    25,
     OPC_CheckChild3Integer, 1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHLimmu32),
                     MVT::v4i32, 6, 0, 2, 3, 4, 5, 6,
    0,
   0,
  73|128,1,
   OPC_CheckChild0Integer, 75|128,30,
   OPC_RecordChild1,
   OPC_Scope, 64,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 28,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_Scope, 24,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHLimms8),
                     MVT::v16i8, 6, 0, 4, 5, 2, 6, 3,
    24,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHLimmu8),
                     MVT::v16i8, 6, 0, 4, 5, 2, 6, 3,
    0,
   64,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 23,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_Scope, 24,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHLimms16),
                     MVT::v8i16, 6, 0, 4, 5, 2, 6, 3,
    24,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHLimmu16),
                     MVT::v8i16, 6, 0, 4, 5, 2, 6, 3,
    0,
   64,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_Scope, 24,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHLimms32),
                     MVT::v4i32, 6, 0, 4, 5, 2, 6, 3,
    24,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHLimmu32),
                     MVT::v4i32, 6, 0, 4, 5, 2, 6, 3,
    0,
   0,
  79|128,1,
   OPC_CheckChild0Integer, 96|128,30,
   OPC_RecordChild1,
   OPC_Scope, 66,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 29,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_Scope, 25,
     OPC_CheckChild3Integer, 0,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHR_imms8),
                     MVT::v16i8, 6, 0, 2, 3, 4, 5, 6,
    25,
     OPC_CheckChild3Integer, 1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHR_immu8),
                     MVT::v16i8, 6, 0, 2, 3, 4, 5, 6,
    0,
   66,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_Scope, 25,
     OPC_CheckChild3Integer, 0,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHR_imms16),
                     MVT::v8i16, 6, 0, 2, 3, 4, 5, 6,
    25,
     OPC_CheckChild3Integer, 1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHR_immu16),
                     MVT::v8i16, 6, 0, 2, 3, 4, 5, 6,
    0,
   66,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 19,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_Scope, 25,
     OPC_CheckChild3Integer, 0,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHR_imms32),
                     MVT::v4i32, 6, 0, 2, 3, 4, 5, 6,
    25,
     OPC_CheckChild3Integer, 1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHR_immu32),
                     MVT::v4i32, 6, 0, 2, 3, 4, 5, 6,
    0,
   0,
  73|128,1,
   OPC_CheckChild0Integer, 97|128,30,
   OPC_RecordChild1,
   OPC_Scope, 64,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 29,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_Scope, 24,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHR_imms8),
                     MVT::v16i8, 6, 0, 4, 5, 2, 6, 3,
    24,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHR_immu8),
                     MVT::v16i8, 6, 0, 4, 5, 2, 6, 3,
    0,
   64,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_Scope, 24,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHR_imms16),
                     MVT::v8i16, 6, 0, 4, 5, 2, 6, 3,
    24,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHR_immu16),
                     MVT::v8i16, 6, 0, 4, 5, 2, 6, 3,
    0,
   64,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 19,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_Scope, 24,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHR_imms32),
                     MVT::v4i32, 6, 0, 4, 5, 2, 6, 3,
    24,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRSHR_immu32),
                     MVT::v4i32, 6, 0, 4, 5, 2, 6, 3,
    0,
   0,
  79|128,1,
   OPC_CheckChild0Integer, 100|128,29,
   OPC_RecordChild1,
   OPC_Scope, 66,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 28,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_Scope, 25,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHR_immu8),
                     MVT::v16i8, 6, 0, 4, 5, 2, 6, 3,
    25,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHR_imms8),
                     MVT::v16i8, 6, 0, 4, 5, 2, 6, 3,
    0,
   66,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 23,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_Scope, 25,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHR_immu16),
                     MVT::v8i16, 6, 0, 4, 5, 2, 6, 3,
    25,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHR_imms16),
                     MVT::v8i16, 6, 0, 4, 5, 2, 6, 3,
    0,
   66,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_Scope, 25,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHR_immu32),
                     MVT::v4i32, 6, 0, 4, 5, 2, 6, 3,
    25,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHR_imms32),
                     MVT::v4i32, 6, 0, 4, 5, 2, 6, 3,
    0,
   0,
  49|128,2,
   OPC_CheckChild0Integer, 5|128,30,
   OPC_Scope, 20|128,1,
    OPC_CheckChild1Integer, 0,
    OPC_RecordChild2,
    OPC_Scope, 34,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs16f16_fix),
                     MVT::v8i16, 6, 0, 2, 3, 4, 5, 6,
    35,
     OPC_CheckChild2Type, 4|128,1,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs32f32_fix),
                     MVT::v4i32, 6, 0, 2, 3, 4, 5, 6,
    34,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf16s16_fix),
                     MVT::v8f16, 6, 0, 2, 3, 4, 5, 6,
    36,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf32s32_fix),
                     4|128,1, 6, 0, 2, 3, 4, 5, 6,
    0,
   20|128,1,
    OPC_CheckChild1Integer, 1,
    OPC_RecordChild2,
    OPC_Scope, 34,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu16f16_fix),
                     MVT::v8i16, 6, 0, 2, 3, 4, 5, 6,
    35,
     OPC_CheckChild2Type, 4|128,1,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu32f32_fix),
                     MVT::v4i32, 6, 0, 2, 3, 4, 5, 6,
    34,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf16u16_fix),
                     MVT::v8f16, 6, 0, 2, 3, 4, 5, 6,
    36,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf32u32_fix),
                     4|128,1, 6, 0, 2, 3, 4, 5, 6,
    0,
   0,
  43|128,2,
   OPC_CheckChild0Integer, 6|128,30,
   OPC_Scope, 17|128,1,
    OPC_CheckChild1Integer, 0,
    OPC_RecordChild2,
    OPC_Scope, 33,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i1,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs16f16_fix),
                     MVT::v8i16, 6, 1, 4, 5, 3, 6, 0,
    34,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 4|128,1,
     OPC_RecordChild4,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs32f32_fix),
                     MVT::v4i32, 6, 1, 4, 5, 3, 6, 0,
    33,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_RecordChild4,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i1,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf16s16_fix),
                     MVT::v8f16, 6, 1, 4, 5, 3, 6, 0,
    36,
     OPC_CheckChild2Type, 4|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_RecordChild4,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i1,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf32s32_fix),
                     4|128,1, 6, 1, 4, 5, 3, 6, 0,
    0,
   17|128,1,
    OPC_CheckChild1Integer, 1,
    OPC_RecordChild2,
    OPC_Scope, 33,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i1,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu16f16_fix),
                     MVT::v8i16, 6, 1, 4, 5, 3, 6, 0,
    34,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 4|128,1,
     OPC_RecordChild4,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu32f32_fix),
                     MVT::v4i32, 6, 1, 4, 5, 3, 6, 0,
    33,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_RecordChild4,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i1,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf16u16_fix),
                     MVT::v8f16, 6, 1, 4, 5, 3, 6, 0,
    36,
     OPC_CheckChild2Type, 4|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_RecordChild4,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i1,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf32u32_fix),
                     4|128,1, 6, 1, 4, 5, 3, 6, 0,
    0,
   0,
  34|128,2,
   OPC_CheckChild0Integer, 122|128,29,
   OPC_Scope, 47|128,1,
    OPC_CheckChild1Integer, 1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_SwitchType , 30, MVT::v16i8,
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCADDi8),
                     MVT::v16i8, 7, 1, 2, 3, 4, 5, 6, 7,
    30, MVT::v8i16,
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCADDi16),
                     MVT::v8i16, 7, 1, 2, 3, 4, 5, 6, 7,
    30, MVT::v4i32,
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCADDi32),
                     MVT::v4i32, 7, 1, 2, 3, 4, 5, 6, 7,
    30, MVT::v8f16,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCADDf16),
                     MVT::v8f16, 7, 1, 2, 3, 4, 5, 6, 7,
    33, 4|128,1,
     OPC_CheckChild3Type, 4|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCADDf32),
                     4|128,1, 7, 1, 2, 3, 4, 5, 6, 7,
    0,
   107,
    OPC_CheckChild1Integer, 0,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_SwitchType , 30, MVT::v16i8,
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHCADDs8),
                     MVT::v16i8, 7, 1, 2, 3, 4, 5, 6, 7,
    30, MVT::v8i16,
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHCADDs16),
                     MVT::v8i16, 7, 1, 2, 3, 4, 5, 6, 7,
    30, MVT::v4i32,
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHCADDs32),
                     MVT::v4i32, 7, 1, 2, 3, 4, 5, 6, 7,
    0,
   0,
  27|128,2,
   OPC_CheckChild0Integer, 123|128,29,
   OPC_Scope, 43|128,1,
    OPC_CheckChild1Integer, 1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_SwitchType , 29, MVT::v16i8,
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_RecordChild6,
     OPC_CheckChild6Type, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCADDi8),
                     MVT::v16i8, 7, 2, 3, 5, 6, 4, 7, 1,
    29, MVT::v8i16,
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_RecordChild6,
     OPC_CheckChild6Type, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCADDi16),
                     MVT::v8i16, 7, 2, 3, 5, 6, 4, 7, 1,
    29, MVT::v4i32,
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_RecordChild6,
     OPC_CheckChild6Type, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCADDi32),
                     MVT::v4i32, 7, 2, 3, 5, 6, 4, 7, 1,
    29, MVT::v8f16,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8f16,
     OPC_RecordChild6,
     OPC_CheckChild6Type, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCADDf16),
                     MVT::v8f16, 7, 2, 3, 5, 6, 4, 7, 1,
    33, 4|128,1,
     OPC_CheckChild3Type, 4|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 4|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 4|128,1,
     OPC_RecordChild6,
     OPC_CheckChild6Type, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitConvertToTarget0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCADDf32),
                     4|128,1, 7, 2, 3, 5, 6, 4, 7, 1,
    0,
   104,
    OPC_CheckChild1Integer, 0,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_SwitchType , 29, MVT::v16i8,
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_RecordChild6,
     OPC_CheckChild6Type, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHCADDs8),
                     MVT::v16i8, 7, 2, 3, 5, 6, 4, 7, 1,
    29, MVT::v8i16,
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_RecordChild6,
     OPC_CheckChild6Type, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHCADDs16),
                     MVT::v8i16, 7, 2, 3, 5, 6, 4, 7, 1,
    29, MVT::v4i32,
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_RecordChild6,
     OPC_CheckChild6Type, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHCADDs32),
                     MVT::v4i32, 7, 2, 3, 5, 6, 4, 7, 1,
    0,
   0,
  3|128,3,
   OPC_CheckChild0Integer, 92|128,29,
   OPC_RecordChild1,
   OPC_Scope, 126,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 63,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 24,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_s8),
                      MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
     24,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_u8),
                      MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
     0,
    57,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 24,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADDs8),
                      MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
     24,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADDu8),
                      MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
     0,
    0,
   126,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 63,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 24,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_s16),
                      MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
     24,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_u16),
                      MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
     0,
    57,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 24,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADDs16),
                      MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
     24,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADDu16),
                      MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
     0,
    0,
   126,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 63,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 24,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_s32),
                      MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
     24,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_u32),
                      MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
     0,
    57,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 24,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADDs32),
                      MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
     24,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADDu32),
                      MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
     0,
    0,
   0,
  3|128,3,
   OPC_CheckChild0Integer, 96|128,29,
   OPC_RecordChild1,
   OPC_Scope, 126,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 63,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 24,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUB_qr_s8),
                      MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
     24,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUB_qr_u8),
                      MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
     0,
    57,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 24,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUBs8),
                      MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
     24,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUBu8),
                      MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
     0,
    0,
   126,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 63,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 24,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUB_qr_s16),
                      MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
     24,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUB_qr_u16),
                      MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
     0,
    57,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 24,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUBs16),
                      MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
     24,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUBu16),
                      MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
     0,
    0,
   126,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 63,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 24,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUB_qr_s32),
                      MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
     24,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUB_qr_u32),
                      MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
     0,
    57,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 24,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUBs32),
                      MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
     24,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUBu32),
                      MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
     0,
    0,
   0,
  14|128,2,
   OPC_CheckChild0Integer, 65|128,30,
   OPC_RecordChild1,
   OPC_Scope, 2|128,1,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 65,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 25,
      OPC_CheckChild3Integer, 0,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULL_qr_s16bh),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     25,
      OPC_CheckChild3Integer, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULL_qr_s16th),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     0,
    59,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 25,
      OPC_CheckChild3Integer, 0,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULLs16bh),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     25,
      OPC_CheckChild3Integer, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULLs16th),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     0,
    0,
   2|128,1,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 65,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_Scope, 25,
      OPC_CheckChild3Integer, 0,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULL_qr_s32bh),
                      MVT::v2i64, 6, 0, 1, 2, 3, 4, 5,
     25,
      OPC_CheckChild3Integer, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULL_qr_s32th),
                      MVT::v2i64, 6, 0, 1, 2, 3, 4, 5,
     0,
    59,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckType, MVT::v2i64,
     OPC_Scope, 25,
      OPC_CheckChild3Integer, 0,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULLs32bh),
                      MVT::v2i64, 6, 0, 1, 2, 3, 4, 5,
     25,
      OPC_CheckChild3Integer, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULLs32th),
                      MVT::v2i64, 6, 0, 1, 2, 3, 4, 5,
     0,
    0,
   0,
  4|128,2,
   OPC_CheckChild0Integer, 66|128,30,
   OPC_RecordChild1,
   OPC_Scope, 126,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 63,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 24,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULL_qr_s16bh),
                      MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
     24,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULL_qr_s16th),
                      MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
     0,
    57,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 24,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULLs16bh),
                      MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
     24,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULLs16th),
                      MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
     0,
    0,
   126,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 63,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_Scope, 24,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v2i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULL_qr_s32bh),
                      MVT::v2i64, 6, 0, 1, 4, 2, 5, 3,
     24,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v2i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULL_qr_s32th),
                      MVT::v2i64, 6, 0, 1, 4, 2, 5, 3,
     0,
    57,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckType, MVT::v2i64,
     OPC_Scope, 24,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v2i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULLs32bh),
                      MVT::v2i64, 6, 0, 1, 4, 2, 5, 3,
     24,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v2i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v2i64,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULLs32th),
                      MVT::v2i64, 6, 0, 1, 4, 2, 5, 3,
     0,
    0,
   0,
  114|128,3,
   OPC_CheckChild0Integer, 60|128,29,
   OPC_RecordChild1,
   OPC_Scope, 34|128,1,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 101,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 43,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_Scope, 15,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s8),
                       MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
      16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s8),
                       MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
      0,
     43,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_Scope, 15,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u8),
                       MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
      16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u8),
                       MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
      0,
     0,
    55,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 23,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADDs8),
                      MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
     23,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADDu8),
                      MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
     0,
    0,
   34|128,1,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 101,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 43,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_Scope, 15,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s16),
                       MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
      16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s16),
                       MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
      0,
     43,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_Scope, 15,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u16),
                       MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
      16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u16),
                       MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
      0,
     0,
    55,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 23,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADDs16),
                      MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
     23,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADDu16),
                      MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
     0,
    0,
   34|128,1,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 101,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 43,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_Scope, 15,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s32),
                       MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
      16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s32),
                       MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
      0,
     43,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_Scope, 15,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u32),
                       MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
      16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u32),
                       MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
      0,
     0,
    55,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 23,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADDs32),
                      MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
     23,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADDu32),
                      MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
     0,
    0,
   0,
  18|128,3,
   OPC_CheckChild0Integer, 26|128,30,
   OPC_RecordChild1,
   OPC_Scope, 2|128,1,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 65,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 25,
      OPC_CheckChild3Integer, 0,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s8),
                      MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
     25,
      OPC_CheckChild3Integer, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u8),
                      MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
     0,
    59,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 25,
      OPC_CheckChild3Integer, 0,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADDs8),
                      MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
     25,
      OPC_CheckChild3Integer, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADDu8),
                      MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
     0,
    0,
   2|128,1,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 65,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 25,
      OPC_CheckChild3Integer, 0,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s16),
                      MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
     25,
      OPC_CheckChild3Integer, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u16),
                      MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
     0,
    59,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 25,
      OPC_CheckChild3Integer, 0,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADDs16),
                      MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
     25,
      OPC_CheckChild3Integer, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADDu16),
                      MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
     0,
    0,
   2|128,1,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 65,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 25,
      OPC_CheckChild3Integer, 0,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s32),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     25,
      OPC_CheckChild3Integer, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u32),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     0,
    59,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 25,
      OPC_CheckChild3Integer, 0,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADDs32),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     25,
      OPC_CheckChild3Integer, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADDu32),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     0,
    0,
   0,
  120|128,3,
   OPC_CheckChild0Integer, 61|128,29,
   OPC_RecordChild1,
   OPC_Scope, 36|128,1,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 101,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 43,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_Scope, 15,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUB_qr_s8),
                       MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
      16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUB_qr_s8),
                       MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
      0,
     43,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_Scope, 15,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUB_qr_u8),
                       MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
      16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUB_qr_u8),
                       MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
      0,
     0,
    57,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 24,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUBs8),
                      MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
     24,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUBu8),
                      MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
     0,
    0,
   36|128,1,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 101,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 43,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_Scope, 15,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUB_qr_s16),
                       MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
      16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUB_qr_s16),
                       MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
      0,
     43,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_Scope, 15,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUB_qr_u16),
                       MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
      16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUB_qr_u16),
                       MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
      0,
     0,
    57,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 24,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUBs16),
                      MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
     24,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUBu16),
                      MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
     0,
    0,
   36|128,1,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 101,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 43,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_Scope, 15,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUB_qr_s32),
                       MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
      16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUB_qr_s32),
                       MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
      0,
     43,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_Scope, 15,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUB_qr_u32),
                       MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
      16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUB_qr_u32),
                       MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
      0,
     0,
    57,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 24,
      OPC_CheckChild3Integer, 0,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUBs32),
                      MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
     24,
      OPC_CheckChild3Integer, 1,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUBu32),
                      MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
     0,
    0,
   0,
  18|128,3,
   OPC_CheckChild0Integer, 27|128,30,
   OPC_RecordChild1,
   OPC_Scope, 2|128,1,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 65,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 25,
      OPC_CheckChild3Integer, 0,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUB_qr_s8),
                      MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
     25,
      OPC_CheckChild3Integer, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUB_qr_u8),
                      MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
     0,
    59,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 25,
      OPC_CheckChild3Integer, 0,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUBs8),
                      MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
     25,
      OPC_CheckChild3Integer, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUBu8),
                      MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
     0,
    0,
   2|128,1,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 65,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 25,
      OPC_CheckChild3Integer, 0,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUB_qr_s16),
                      MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
     25,
      OPC_CheckChild3Integer, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUB_qr_u16),
                      MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
     0,
    59,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 25,
      OPC_CheckChild3Integer, 0,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUBs16),
                      MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
     25,
      OPC_CheckChild3Integer, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUBu16),
                      MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
     0,
    0,
   2|128,1,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 65,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 25,
      OPC_CheckChild3Integer, 0,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUB_qr_s32),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     25,
      OPC_CheckChild3Integer, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUB_qr_u32),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     0,
    59,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 25,
      OPC_CheckChild3Integer, 0,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUBs32),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     25,
      OPC_CheckChild3Integer, 1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUBu32),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     0,
    0,
   0,
  68|128,4,
   OPC_CheckChild0Integer, 81|128,31,
   OPC_Scope, 23|128,1,
    OPC_RecordChild1,
    OPC_Scope, 36,
     OPC_CheckChild1Type, MVT::v4i16,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMULHslv4i16),
                     MVT::v4i16, 5, 0, 1, 3, 4, 5,
    36,
     OPC_CheckChild1Type, MVT::v2i32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMULHslv2i32),
                     MVT::v2i32, 5, 0, 1, 3, 4, 5,
    36,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMULHslv8i16),
                     MVT::v8i16, 5, 0, 1, 3, 4, 5,
    36,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMULHslv4i32),
                     MVT::v4i32, 5, 0, 1, 3, 4, 5,
    0,
   125,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_Scope, 58,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_SwitchType , 22, MVT::v4i16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v4i16,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMULHslv4i16),
                      MVT::v4i16, 5, 2, 0, 3, 4, 5,
     22, MVT::v8i16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8i16,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMULHslv8i16),
                      MVT::v8i16, 5, 2, 0, 3, 4, 5,
     0,
    58,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_SwitchType , 22, MVT::v2i32,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v2i32,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMULHslv2i32),
                      MVT::v2i32, 5, 2, 0, 3, 4, 5,
     22, MVT::v4i32,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v4i32,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMULHslv4i32),
                      MVT::v4i32, 5, 2, 0, 3, 4, 5,
     0,
    0,
   105,
    OPC_RecordChild1,
    OPC_Scope, 50,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 5, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 4,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 6, 6,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMULHslv8i16),
                     MVT::v8i16, 5, 0, 5, 7, 8, 9,
    50,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 7, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 1, 4,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 8, 6,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMULHslv4i32),
                     MVT::v4i32, 5, 0, 5, 7, 8, 9,
    0,
   101,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_Scope, 46,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 5, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 0, 4,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 6, 6,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMULHslv8i16),
                     MVT::v8i16, 5, 2, 5, 7, 8, 9,
    46,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 7, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 0, 4,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 8, 6,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMULHslv4i32),
                     MVT::v4i32, 5, 2, 5, 7, 8, 9,
    0,
   87,
    OPC_RecordChild1,
    OPC_SwitchType , 19, MVT::v4i16,
     OPC_CheckChild1Type, MVT::v4i16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMULHv4i16),
                     MVT::v4i16, 4, 0, 1, 2, 3,
    19, MVT::v2i32,
     OPC_CheckChild1Type, MVT::v2i32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMULHv2i32),
                     MVT::v2i32, 4, 0, 1, 2, 3,
    19, MVT::v8i16,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMULHv8i16),
                     MVT::v8i16, 4, 0, 1, 2, 3,
    19, MVT::v4i32,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMULHv4i32),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    0,
   0,
  68|128,4,
   OPC_CheckChild0Integer, 89|128,31,
   OPC_Scope, 23|128,1,
    OPC_RecordChild1,
    OPC_Scope, 36,
     OPC_CheckChild1Type, MVT::v4i16,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMULHslv4i16),
                     MVT::v4i16, 5, 0, 1, 3, 4, 5,
    36,
     OPC_CheckChild1Type, MVT::v2i32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMULHslv2i32),
                     MVT::v2i32, 5, 0, 1, 3, 4, 5,
    36,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMULHslv8i16),
                     MVT::v8i16, 5, 0, 1, 3, 4, 5,
    36,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMULHslv4i32),
                     MVT::v4i32, 5, 0, 1, 3, 4, 5,
    0,
   125,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_Scope, 58,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_SwitchType , 22, MVT::v4i16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v4i16,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMULHslv4i16),
                      MVT::v4i16, 5, 2, 0, 3, 4, 5,
     22, MVT::v8i16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8i16,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMULHslv8i16),
                      MVT::v8i16, 5, 2, 0, 3, 4, 5,
     0,
    58,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_SwitchType , 22, MVT::v2i32,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v2i32,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMULHslv2i32),
                      MVT::v2i32, 5, 2, 0, 3, 4, 5,
     22, MVT::v4i32,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v4i32,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMULHslv4i32),
                      MVT::v4i32, 5, 2, 0, 3, 4, 5,
     0,
    0,
   105,
    OPC_RecordChild1,
    OPC_Scope, 50,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 5, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 1, 4,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 6, 6,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMULHslv8i16),
                     MVT::v8i16, 5, 0, 5, 7, 8, 9,
    50,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 7, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 1, 4,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 8, 6,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMULHslv4i32),
                     MVT::v4i32, 5, 0, 5, 7, 8, 9,
    0,
   101,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_Scope, 46,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 5, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 0, 4,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 6, 6,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMULHslv8i16),
                     MVT::v8i16, 5, 2, 5, 7, 8, 9,
    46,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 7, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 0, 4,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 8, 6,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMULHslv4i32),
                     MVT::v4i32, 5, 2, 5, 7, 8, 9,
    0,
   87,
    OPC_RecordChild1,
    OPC_SwitchType , 19, MVT::v4i16,
     OPC_CheckChild1Type, MVT::v4i16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMULHv4i16),
                     MVT::v4i16, 4, 0, 1, 2, 3,
    19, MVT::v2i32,
     OPC_CheckChild1Type, MVT::v2i32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMULHv2i32),
                     MVT::v2i32, 4, 0, 1, 2, 3,
    19, MVT::v8i16,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMULHv8i16),
                     MVT::v8i16, 4, 0, 1, 2, 3,
    19, MVT::v4i32,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMULHv4i32),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    0,
   0,
  75|128,1,
   OPC_CheckChild0Integer, 82|128,31,
   OPC_Scope, 77,
    OPC_RecordChild1,
    OPC_Scope, 36,
     OPC_CheckChild1Type, MVT::v4i16,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMULLslv4i16),
                     MVT::v4i32, 5, 0, 1, 3, 4, 5,
    36,
     OPC_CheckChild1Type, MVT::v2i32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMULLslv2i32),
                     MVT::v2i64, 5, 0, 1, 3, 4, 5,
    0,
   73,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_Scope, 32,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i16,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMULLslv4i16),
                     MVT::v4i32, 5, 2, 0, 3, 4, 5,
    32,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v2i32,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMULLslv2i32),
                     MVT::v2i64, 5, 2, 0, 3, 4, 5,
    0,
   45,
    OPC_RecordChild1,
    OPC_SwitchType , 19, MVT::v4i32,
     OPC_CheckChild1Type, MVT::v4i16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMULLv4i32),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    19, MVT::v2i64,
     OPC_CheckChild1Type, MVT::v2i32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMULLv2i64),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    0,
   0,
  46|128,2,
   OPC_CheckChild0Integer, 87|128,31,
   OPC_RecordChild1,
   OPC_Scope, 66,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_Scope, 36,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate, 41,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMLAHslv4i16),
                     MVT::v4i16, 6, 0, 1, 2, 4, 5, 6,
    21,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i16,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate, 41,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMLAHv4i16),
                     MVT::v4i16, 5, 0, 1, 2, 3, 4,
    0,
   66,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_Scope, 36,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate, 41,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMLAHslv2i32),
                     MVT::v2i32, 6, 0, 1, 2, 4, 5, 6,
    21,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v2i32,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate, 41,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMLAHv2i32),
                     MVT::v2i32, 5, 0, 1, 2, 3, 4,
    0,
   80,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 50,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 41,
     OPC_EmitConvertToTarget3,
     OPC_EmitNodeXForm, 5, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 2, 5,
     OPC_EmitConvertToTarget3,
     OPC_EmitNodeXForm, 6, 7,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMLAHslv8i16),
                     MVT::v8i16, 6, 0, 1, 6, 8, 9, 10,
    21,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 41,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMLAHv8i16),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    0,
   80,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 50,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 41,
     OPC_EmitConvertToTarget3,
     OPC_EmitNodeXForm, 7, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 2, 5,
     OPC_EmitConvertToTarget3,
     OPC_EmitNodeXForm, 8, 7,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMLAHslv4i32),
                     MVT::v4i32, 6, 0, 1, 6, 8, 9, 10,
    21,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 41,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMLAHv4i32),
                     MVT::v4i32, 5, 0, 1, 2, 3, 4,
    0,
   0,
  46|128,2,
   OPC_CheckChild0Integer, 88|128,31,
   OPC_RecordChild1,
   OPC_Scope, 66,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_Scope, 36,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate, 41,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMLSHslv4i16),
                     MVT::v4i16, 6, 0, 1, 2, 4, 5, 6,
    21,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i16,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate, 41,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMLSHv4i16),
                     MVT::v4i16, 5, 0, 1, 2, 3, 4,
    0,
   66,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_Scope, 36,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate, 41,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMLSHslv2i32),
                     MVT::v2i32, 6, 0, 1, 2, 4, 5, 6,
    21,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v2i32,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate, 41,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMLSHv2i32),
                     MVT::v2i32, 5, 0, 1, 2, 3, 4,
    0,
   80,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 50,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 41,
     OPC_EmitConvertToTarget3,
     OPC_EmitNodeXForm, 5, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v4i16, 2, 2, 5,
     OPC_EmitConvertToTarget3,
     OPC_EmitNodeXForm, 6, 7,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMLSHslv8i16),
                     MVT::v8i16, 6, 0, 1, 6, 8, 9, 10,
    21,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 41,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMLSHv8i16),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    0,
   80,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 50,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 41,
     OPC_EmitConvertToTarget3,
     OPC_EmitNodeXForm, 7, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 2, 5,
     OPC_EmitConvertToTarget3,
     OPC_EmitNodeXForm, 8, 7,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMLSHslv4i32),
                     MVT::v4i32, 6, 0, 1, 6, 8, 9, 10,
    21,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 41,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRDMLSHv4i32),
                     MVT::v4i32, 5, 0, 1, 2, 3, 4,
    0,
   0,
  39,
   OPC_CheckChild0Integer, 113|128,28,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX1_vec),
                   MVT::v16i8, 6, 0, 2, 3, 4, 5, 6,
  36,
   OPC_CheckChild0Integer, 115|128,28,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX1A_vec),
                   MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
  42,
   OPC_CheckChild0Integer, 119|128,28,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX2_vec),
                   MVT::v16i8, 7, 0, 1, 3, 4, 5, 6, 7,
  38,
   OPC_CheckChild0Integer, 121|128,28,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitConvertToTarget3,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX2A_vec),
                   MVT::v16i8, 7, 0, 1, 2, 4, 5, 6, 7,
  44,
   OPC_CheckChild0Integer, 125|128,28,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitConvertToTarget3,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX3_vec),
                   MVT::v16i8, 8, 0, 1, 2, 4, 5, 6, 7, 8,
  40,
   OPC_CheckChild0Integer, 127|128,28,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_MoveChild5,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 22,
   OPC_EmitConvertToTarget4,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX3A_vec),
                   MVT::v16i8, 8, 0, 1, 2, 3, 5, 6, 7, 8,
  79|128,1,
   OPC_CheckChild0Integer, 114|128,28,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_Scope, 31,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX1_vec),
                    MVT::v16i8, 6, 0, 4, 5, 3, 6, 1,
   31,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX1_vec),
                    MVT::v8i16, 6, 0, 4, 5, 3, 6, 1,
   31,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX1_vec),
                    MVT::v4i32, 6, 0, 4, 5, 3, 6, 1,
   31,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v2i1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX1_vec),
                    MVT::v2i64, 6, 0, 4, 5, 3, 6, 1,
   31,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX1_vec),
                    MVT::v8f16, 6, 0, 4, 5, 3, 6, 1,
   34,
    OPC_CheckChild2Type, 4|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX1_vec),
                    4|128,1, 6, 0, 4, 5, 3, 6, 1,
   0,
  79|128,1,
   OPC_CheckChild0Integer, 116|128,28,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_Scope, 31,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX1A_vec),
                    MVT::v16i8, 6, 0, 1, 4, 5, 3, 6,
   31,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX1A_vec),
                    MVT::v8i16, 6, 0, 1, 4, 5, 3, 6,
   31,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX1A_vec),
                    MVT::v4i32, 6, 0, 1, 4, 5, 3, 6,
   31,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v2i1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX1A_vec),
                    MVT::v2i64, 6, 0, 1, 4, 5, 3, 6,
   31,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX1A_vec),
                    MVT::v8f16, 6, 0, 1, 4, 5, 3, 6,
   34,
    OPC_CheckChild2Type, 4|128,1,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX1A_vec),
                    4|128,1, 6, 0, 1, 4, 5, 3, 6,
   0,
  91|128,1,
   OPC_CheckChild0Integer, 120|128,28,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_Scope, 33,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v16i1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitConvertToTarget3,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX2_vec),
                    MVT::v16i8, 7, 0, 2, 5, 6, 4, 7, 1,
   33,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v8i1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitConvertToTarget3,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX2_vec),
                    MVT::v8i16, 7, 0, 2, 5, 6, 4, 7, 1,
   33,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v4i1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitConvertToTarget3,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX2_vec),
                    MVT::v4i32, 7, 0, 2, 5, 6, 4, 7, 1,
   33,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v2i1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitConvertToTarget3,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX2_vec),
                    MVT::v2i64, 7, 0, 2, 5, 6, 4, 7, 1,
   33,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v8i1,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitConvertToTarget3,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX2_vec),
                    MVT::v8f16, 7, 0, 2, 5, 6, 4, 7, 1,
   36,
    OPC_CheckChild2Type, 4|128,1,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v4i1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitConvertToTarget3,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX2_vec),
                    4|128,1, 7, 0, 2, 5, 6, 4, 7, 1,
   0,
  85|128,1,
   OPC_CheckChild0Integer, 122|128,28,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_Scope, 32,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v16i1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX2A_vec),
                    MVT::v16i8, 7, 0, 1, 2, 3, 5, 4, 6,
   32,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v8i1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX2A_vec),
                    MVT::v8i16, 7, 0, 1, 2, 3, 5, 4, 6,
   32,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v4i1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX2A_vec),
                    MVT::v4i32, 7, 0, 1, 2, 3, 5, 4, 6,
   32,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v2i1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX2A_vec),
                    MVT::v2i64, 7, 0, 1, 2, 3, 5, 4, 6,
   32,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v8i1,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX2A_vec),
                    MVT::v8f16, 7, 0, 1, 2, 3, 5, 4, 6,
   35,
    OPC_CheckChild2Type, 4|128,1,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v4i1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX2A_vec),
                    4|128,1, 7, 0, 1, 2, 3, 5, 4, 6,
   0,
  103|128,1,
   OPC_CheckChild0Integer, 126|128,28,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_Scope, 35,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild6,
    OPC_CheckChild6Type, MVT::v16i1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitConvertToTarget4,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX3_vec),
                    MVT::v16i8, 8, 0, 2, 3, 6, 7, 5, 8, 1,
   35,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild6,
    OPC_CheckChild6Type, MVT::v8i1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitConvertToTarget4,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX3_vec),
                    MVT::v8i16, 8, 0, 2, 3, 6, 7, 5, 8, 1,
   35,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild6,
    OPC_CheckChild6Type, MVT::v4i1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitConvertToTarget4,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX3_vec),
                    MVT::v4i32, 8, 0, 2, 3, 6, 7, 5, 8, 1,
   35,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild6,
    OPC_CheckChild6Type, MVT::v2i1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitConvertToTarget4,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX3_vec),
                    MVT::v2i64, 8, 0, 2, 3, 6, 7, 5, 8, 1,
   35,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild6,
    OPC_CheckChild6Type, MVT::v8i1,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitConvertToTarget4,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX3_vec),
                    MVT::v8f16, 8, 0, 2, 3, 6, 7, 5, 8, 1,
   38,
    OPC_CheckChild2Type, 4|128,1,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild6,
    OPC_CheckChild6Type, MVT::v4i1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitConvertToTarget4,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX3_vec),
                    4|128,1, 8, 0, 2, 3, 6, 7, 5, 8, 1,
   0,
  103|128,1,
   OPC_CheckChild0Integer, 0|128,29,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_Scope, 35,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild6,
    OPC_CheckChild6Type, MVT::v16i1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitConvertToTarget4,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX3A_vec),
                    MVT::v16i8, 8, 0, 1, 2, 3, 6, 7, 5, 8,
   35,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild6,
    OPC_CheckChild6Type, MVT::v8i1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitConvertToTarget4,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX3A_vec),
                    MVT::v8i16, 8, 0, 1, 2, 3, 6, 7, 5, 8,
   35,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild6,
    OPC_CheckChild6Type, MVT::v4i1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitConvertToTarget4,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX3A_vec),
                    MVT::v4i32, 8, 0, 1, 2, 3, 6, 7, 5, 8,
   35,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild6,
    OPC_CheckChild6Type, MVT::v2i1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 22,
    OPC_EmitConvertToTarget4,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX3A_vec),
                    MVT::v2i64, 8, 0, 1, 2, 3, 6, 7, 5, 8,
   35,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild6,
    OPC_CheckChild6Type, MVT::v8i1,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitConvertToTarget4,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX3A_vec),
                    MVT::v8f16, 8, 0, 1, 2, 3, 6, 7, 5, 8,
   38,
    OPC_CheckChild2Type, 4|128,1,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild6,
    OPC_CheckChild6Type, MVT::v4i1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 45,
    OPC_EmitConvertToTarget4,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CDE_VCX3A_vec),
                    4|128,1, 8, 0, 1, 2, 3, 6, 7, 5, 8,
   0,
  122|128,1,
   OPC_CheckChild0Integer, 72|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 57, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 24,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINs8),
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
    24,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINu8),
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
    0,
   57, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 24,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINs16),
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
    24,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINu16),
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
    0,
   57, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 24,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINs32),
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
    24,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINu32),
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
    0,
   33, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckChild3Integer, 0,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINNMf32),
                    4|128,1, 6, 0, 1, 4, 2, 5, 3,
   29, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckChild3Integer, 0,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINNMf16),
                    MVT::v8f16, 6, 0, 1, 4, 2, 5, 3,
   0,
  122|128,1,
   OPC_CheckChild0Integer, 63|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 57, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 24,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXs8),
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
    24,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXu8),
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
    0,
   57, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 24,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXs16),
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
    24,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXu16),
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
    0,
   57, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 24,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXs32),
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
    24,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXu32),
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
    0,
   33, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckChild3Integer, 0,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXNMf32),
                    4|128,1, 6, 0, 1, 4, 2, 5, 3,
   29, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckChild3Integer, 0,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXNMf16),
                    MVT::v8f16, 6, 0, 1, 4, 2, 5, 3,
   0,
  127|128,1,
   OPC_CheckChild0Integer, 79|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 26, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckChild2Integer, 64|128,0,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_32),
                    MVT::v4i32, 5, 0, 3, 1, 4, 2,
   53, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 24,
     OPC_CheckChild2Integer, 64|128,0,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_16),
                     MVT::v8i16, 5, 0, 3, 1, 4, 2,
    23,
     OPC_CheckChild2Integer, 32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV32_16),
                     MVT::v8i16, 5, 0, 3, 1, 4, 2,
    0,
   77, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 24,
     OPC_CheckChild2Integer, 64|128,0,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_8),
                     MVT::v16i8, 5, 0, 3, 1, 4, 2,
    23,
     OPC_CheckChild2Integer, 32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV32_8),
                     MVT::v16i8, 5, 0, 3, 1, 4, 2,
    23,
     OPC_CheckChild2Integer, 16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV16_8),
                     MVT::v16i8, 5, 0, 3, 1, 4, 2,
    0,
   29, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckChild2Integer, 64|128,0,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 4|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_32),
                    4|128,1, 5, 0, 3, 1, 4, 2,
   53, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_Scope, 24,
     OPC_CheckChild2Integer, 64|128,0,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_16),
                     MVT::v8f16, 5, 0, 3, 1, 4, 2,
    23,
     OPC_CheckChild2Integer, 32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV32_16),
                     MVT::v8f16, 5, 0, 3, 1, 4, 2,
    0,
   0,
  122|128,1,
   OPC_CheckChild0Integer, 39|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 57, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 24,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDs8),
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
    24,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDu8),
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
    0,
   57, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 24,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDs16),
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
    24,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDu16),
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
    0,
   57, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 24,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDs32),
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
    24,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDu32),
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
    0,
   33, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckChild3Integer, 0,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDf32),
                    4|128,1, 6, 0, 1, 4, 2, 5, 3,
   29, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckChild3Integer, 0,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDf16),
                    MVT::v8f16, 6, 0, 1, 4, 2, 5, 3,
   0,
  1|128,2,
   OPC_CheckChild0Integer, 116|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 59, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 25,
     OPC_CheckChild3Integer, 0,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDs8),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_CheckChild3Integer, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDu8),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    0,
   59, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 25,
     OPC_CheckChild3Integer, 0,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDs16),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_CheckChild3Integer, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDu16),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    0,
   59, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 25,
     OPC_CheckChild3Integer, 0,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDs32),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_CheckChild3Integer, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDu32),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    0,
   33, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckChild3Integer, 0,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDf32),
                    4|128,1, 6, 0, 1, 2, 3, 4, 5,
   30, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckChild3Integer, 0,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDf16),
                    MVT::v8f16, 6, 0, 1, 2, 3, 4, 5,
   0,
  49|128,1,
   OPC_CheckChild0Integer, 97|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 55, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 23,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRHADDs8),
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
    23,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRHADDu8),
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
    0,
   55, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 23,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRHADDs16),
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
    23,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRHADDu16),
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
    0,
   55, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 23,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRHADDs32),
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
    23,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRHADDu32),
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
    0,
   0,
  61|128,1,
   OPC_CheckChild0Integer, 80|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 59, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 25,
     OPC_CheckChild3Integer, 0,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRHADDs8),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_CheckChild3Integer, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRHADDu8),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    0,
   59, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 25,
     OPC_CheckChild3Integer, 0,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRHADDs16),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_CheckChild3Integer, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRHADDu16),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    0,
   59, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 25,
     OPC_CheckChild3Integer, 0,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRHADDs32),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_CheckChild3Integer, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRHADDu32),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  123,
   OPC_CheckChild0Integer, 14|128,30,
   OPC_Scope, 58,
    OPC_CheckChild1Integer, 0,
    OPC_RecordChild2,
    OPC_SwitchType , 24, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs16f16a),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    25, MVT::v4i32,
     OPC_CheckChild2Type, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs32f32a),
                     MVT::v4i32, 5, 0, 1, 2, 3, 4,
    0,
   58,
    OPC_CheckChild1Integer, 1,
    OPC_RecordChild2,
    OPC_SwitchType , 24, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu16f16a),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    25, MVT::v4i32,
     OPC_CheckChild2Type, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu32f32a),
                     MVT::v4i32, 5, 0, 1, 2, 3, 4,
    0,
   0,
  119,
   OPC_CheckChild0Integer, 15|128,30,
   OPC_Scope, 56,
    OPC_CheckChild1Integer, 0,
    OPC_RecordChild2,
    OPC_SwitchType , 23, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs16f16a),
                     MVT::v8i16, 5, 1, 3, 2, 4, 0,
    24, MVT::v4i32,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 4|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs32f32a),
                     MVT::v4i32, 5, 1, 3, 2, 4, 0,
    0,
   56,
    OPC_CheckChild1Integer, 1,
    OPC_RecordChild2,
    OPC_SwitchType , 23, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu16f16a),
                     MVT::v8i16, 5, 1, 3, 2, 4, 0,
    24, MVT::v4i32,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 4|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu32f32a),
                     MVT::v4i32, 5, 1, 3, 2, 4, 0,
    0,
   0,
  123,
   OPC_CheckChild0Integer, 18|128,30,
   OPC_Scope, 58,
    OPC_CheckChild1Integer, 0,
    OPC_RecordChild2,
    OPC_SwitchType , 24, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs16f16n),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    25, MVT::v4i32,
     OPC_CheckChild2Type, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs32f32n),
                     MVT::v4i32, 5, 0, 1, 2, 3, 4,
    0,
   58,
    OPC_CheckChild1Integer, 1,
    OPC_RecordChild2,
    OPC_SwitchType , 24, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu16f16n),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    25, MVT::v4i32,
     OPC_CheckChild2Type, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu32f32n),
                     MVT::v4i32, 5, 0, 1, 2, 3, 4,
    0,
   0,
  119,
   OPC_CheckChild0Integer, 19|128,30,
   OPC_Scope, 56,
    OPC_CheckChild1Integer, 0,
    OPC_RecordChild2,
    OPC_SwitchType , 23, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs16f16n),
                     MVT::v8i16, 5, 1, 3, 2, 4, 0,
    24, MVT::v4i32,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 4|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs32f32n),
                     MVT::v4i32, 5, 1, 3, 2, 4, 0,
    0,
   56,
    OPC_CheckChild1Integer, 1,
    OPC_RecordChild2,
    OPC_SwitchType , 23, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu16f16n),
                     MVT::v8i16, 5, 1, 3, 2, 4, 0,
    24, MVT::v4i32,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 4|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu32f32n),
                     MVT::v4i32, 5, 1, 3, 2, 4, 0,
    0,
   0,
  123,
   OPC_CheckChild0Integer, 20|128,30,
   OPC_Scope, 58,
    OPC_CheckChild1Integer, 0,
    OPC_RecordChild2,
    OPC_SwitchType , 24, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs16f16p),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    25, MVT::v4i32,
     OPC_CheckChild2Type, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs32f32p),
                     MVT::v4i32, 5, 0, 1, 2, 3, 4,
    0,
   58,
    OPC_CheckChild1Integer, 1,
    OPC_RecordChild2,
    OPC_SwitchType , 24, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu16f16p),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    25, MVT::v4i32,
     OPC_CheckChild2Type, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu32f32p),
                     MVT::v4i32, 5, 0, 1, 2, 3, 4,
    0,
   0,
  119,
   OPC_CheckChild0Integer, 21|128,30,
   OPC_Scope, 56,
    OPC_CheckChild1Integer, 0,
    OPC_RecordChild2,
    OPC_SwitchType , 23, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs16f16p),
                     MVT::v8i16, 5, 1, 3, 2, 4, 0,
    24, MVT::v4i32,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 4|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs32f32p),
                     MVT::v4i32, 5, 1, 3, 2, 4, 0,
    0,
   56,
    OPC_CheckChild1Integer, 1,
    OPC_RecordChild2,
    OPC_SwitchType , 23, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu16f16p),
                     MVT::v8i16, 5, 1, 3, 2, 4, 0,
    24, MVT::v4i32,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 4|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu32f32p),
                     MVT::v4i32, 5, 1, 3, 2, 4, 0,
    0,
   0,
  123,
   OPC_CheckChild0Integer, 16|128,30,
   OPC_Scope, 58,
    OPC_CheckChild1Integer, 0,
    OPC_RecordChild2,
    OPC_SwitchType , 24, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs16f16m),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    25, MVT::v4i32,
     OPC_CheckChild2Type, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs32f32m),
                     MVT::v4i32, 5, 0, 1, 2, 3, 4,
    0,
   58,
    OPC_CheckChild1Integer, 1,
    OPC_RecordChild2,
    OPC_SwitchType , 24, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu16f16m),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    25, MVT::v4i32,
     OPC_CheckChild2Type, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu32f32m),
                     MVT::v4i32, 5, 0, 1, 2, 3, 4,
    0,
   0,
  119,
   OPC_CheckChild0Integer, 17|128,30,
   OPC_Scope, 56,
    OPC_CheckChild1Integer, 0,
    OPC_RecordChild2,
    OPC_SwitchType , 23, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs16f16m),
                     MVT::v8i16, 5, 1, 3, 2, 4, 0,
    24, MVT::v4i32,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 4|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs32f32m),
                     MVT::v4i32, 5, 1, 3, 2, 4, 0,
    0,
   56,
    OPC_CheckChild1Integer, 1,
    OPC_RecordChild2,
    OPC_SwitchType , 23, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu16f16m),
                     MVT::v8i16, 5, 1, 3, 2, 4, 0,
    24, MVT::v4i32,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 4|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu32f32m),
                     MVT::v4i32, 5, 1, 3, 2, 4, 0,
    0,
   0,
  119,
   OPC_CheckChild0Integer, 9|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 54, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_Scope, 24,
     OPC_CheckChild2Integer, 0,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs16f16z),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    24,
     OPC_CheckChild2Integer, 1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu16f16z),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    0,
   55, MVT::v4i32,
    OPC_CheckChild1Type, 4|128,1,
    OPC_Scope, 24,
     OPC_CheckChild2Integer, 0,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs32f32z),
                     MVT::v4i32, 5, 0, 1, 2, 3, 4,
    24,
     OPC_CheckChild2Integer, 1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu32f32z),
                     MVT::v4i32, 5, 0, 1, 2, 3, 4,
    0,
   0,
  100|128,1,
   OPC_CheckChild0Integer, 8|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 52, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_Scope, 23,
     OPC_CheckChild2Integer, 0,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs16f16z),
                     MVT::v8i16, 5, 0, 3, 1, 4, 2,
    23,
     OPC_CheckChild2Integer, 1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu16f16z),
                     MVT::v8i16, 5, 0, 3, 1, 4, 2,
    0,
   53, MVT::v4i32,
    OPC_CheckChild1Type, 4|128,1,
    OPC_Scope, 23,
     OPC_CheckChild2Integer, 0,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs32f32z),
                     MVT::v4i32, 5, 0, 3, 1, 4, 2,
    23,
     OPC_CheckChild2Integer, 1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu32f32z),
                     MVT::v4i32, 5, 0, 3, 1, 4, 2,
    0,
   52, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 23,
     OPC_CheckChild2Integer, 0,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf16s16n),
                     MVT::v8f16, 5, 0, 3, 1, 4, 2,
    23,
     OPC_CheckChild2Integer, 1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf16u16n),
                     MVT::v8f16, 5, 0, 3, 1, 4, 2,
    0,
   56, 4|128,1,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 25,
     OPC_CheckChild2Integer, 0,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf32s32n),
                     4|128,1, 5, 0, 3, 1, 4, 2,
    25,
     OPC_CheckChild2Integer, 1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf32u32n),
                     4|128,1, 5, 0, 3, 1, 4, 2,
    0,
   0,
  0|128,1,
   OPC_CheckChild0Integer, 57|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 59, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 25,
     OPC_CheckChild3Integer, 0,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLBp8),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_CheckChild3Integer, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTp8),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    0,
   59, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 25,
     OPC_CheckChild3Integer, 0,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLBp16),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_CheckChild3Integer, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTp16),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  124,
   OPC_CheckChild0Integer, 84|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 57, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 24,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLBp8),
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
    24,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTp8),
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
    0,
   57, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 24,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLBp16),
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
    24,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTp16),
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
    0,
   0,
  55|128,1,
   OPC_CheckChild0Integer, 82|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 57, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 24,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULHs8),
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
    24,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULHu8),
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
    0,
   57, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 24,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULHs16),
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
    24,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULHu16),
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
    0,
   57, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 24,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULHs32),
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
    24,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULHu32),
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
    0,
   0,
  61|128,1,
   OPC_CheckChild0Integer, 55|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 59, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 25,
     OPC_CheckChild3Integer, 0,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULHs8),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_CheckChild3Integer, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULHu8),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    0,
   59, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 25,
     OPC_CheckChild3Integer, 0,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULHs16),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_CheckChild3Integer, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULHu16),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    0,
   59, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 25,
     OPC_CheckChild3Integer, 0,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULHs32),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_CheckChild3Integer, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULHu32),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  55|128,1,
   OPC_CheckChild0Integer, 98|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 57, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 24,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRMULHs8),
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
    24,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRMULHu8),
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
    0,
   57, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 24,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRMULHs16),
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
    24,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRMULHu16),
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
    0,
   57, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 24,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRMULHs32),
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
    24,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRMULHu32),
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
    0,
   0,
  61|128,1,
   OPC_CheckChild0Integer, 95|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 59, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 25,
     OPC_CheckChild3Integer, 0,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRMULHs8),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_CheckChild3Integer, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRMULHu8),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    0,
   59, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 25,
     OPC_CheckChild3Integer, 0,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRMULHs16),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_CheckChild3Integer, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRMULHu16),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    0,
   59, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 25,
     OPC_CheckChild3Integer, 0,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRMULHs32),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_CheckChild3Integer, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRMULHu32),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  104,
   OPC_CheckChild0Integer, 53|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 47, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 19,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVNi32bh),
                     MVT::v8i16, 5, 0, 1, 3, 2, 4,
    19,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVNi32th),
                     MVT::v8i16, 5, 0, 1, 3, 2, 4,
    0,
   47, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 19,
     OPC_CheckChild3Integer, 0,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVNi16bh),
                     MVT::v16i8, 5, 0, 1, 3, 2, 4,
    19,
     OPC_CheckChild3Integer, 1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVNi16th),
                     MVT::v16i8, 5, 0, 1, 3, 2, 4,
    0,
   0,
  108,
   OPC_CheckChild0Integer, 110|128,30,
   OPC_RecordChild1,
   OPC_Scope, 33,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 28,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSLIimm8),
                    MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
   33,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 23,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSLIimm16),
                    MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
   33,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSLIimm32),
                    MVT::v4i32, 6, 0, 1, 3, 4, 5, 6,
   0,
  111,
   OPC_CheckChild0Integer, 111|128,30,
   OPC_RecordChild1,
   OPC_Scope, 34,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 28,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i1,
    OPC_CheckType, MVT::v16i8,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSLIimm8),
                    MVT::v16i8, 6, 0, 1, 4, 5, 3, 6,
   34,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 23,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckType, MVT::v8i16,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSLIimm16),
                    MVT::v8i16, 6, 0, 1, 4, 5, 3, 6,
   34,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckType, MVT::v4i32,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSLIimm32),
                    MVT::v4i32, 6, 0, 1, 4, 5, 3, 6,
   0,
  108,
   OPC_CheckChild0Integer, 112|128,30,
   OPC_RecordChild1,
   OPC_Scope, 33,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 29,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSRIimm8),
                    MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
   33,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSRIimm16),
                    MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
   33,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 19,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSRIimm32),
                    MVT::v4i32, 6, 0, 1, 3, 4, 5, 6,
   0,
  111,
   OPC_CheckChild0Integer, 113|128,30,
   OPC_RecordChild1,
   OPC_Scope, 34,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 29,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i1,
    OPC_CheckType, MVT::v16i8,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSRIimm8),
                    MVT::v16i8, 6, 0, 1, 4, 5, 3, 6,
   34,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 30,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckType, MVT::v8i16,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSRIimm16),
                    MVT::v8i16, 6, 0, 1, 4, 5, 3, 6,
   34,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 19,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckType, MVT::v4i32,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSRIimm32),
                    MVT::v4i32, 6, 0, 1, 4, 5, 3, 6,
   0,
  114,
   OPC_CheckChild0Integer, 76|128,30,
   OPC_RecordChild1,
   OPC_Scope, 35,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 28,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHLU_imms8),
                    MVT::v16i8, 6, 0, 2, 3, 4, 5, 6,
   35,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 23,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHLU_imms16),
                    MVT::v8i16, 6, 0, 2, 3, 4, 5, 6,
   35,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHLU_imms32),
                    MVT::v4i32, 6, 0, 2, 3, 4, 5, 6,
   0,
  111,
   OPC_CheckChild0Integer, 77|128,30,
   OPC_RecordChild1,
   OPC_Scope, 34,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 28,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i8,
    OPC_CheckType, MVT::v16i8,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHLU_imms8),
                    MVT::v16i8, 6, 0, 4, 5, 2, 6, 3,
   34,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 23,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i16,
    OPC_CheckType, MVT::v8i16,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHLU_imms16),
                    MVT::v8i16, 6, 0, 4, 5, 2, 6, 3,
   34,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i32,
    OPC_CheckType, MVT::v4i32,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHLU_imms32),
                    MVT::v4i32, 6, 0, 4, 5, 2, 6, 3,
   0,
  114,
   OPC_CheckChild0Integer, 99|128,29,
   OPC_RecordChild1,
   OPC_Scope, 35,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 28,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i8,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_immi8),
                    MVT::v16i8, 6, 0, 4, 5, 2, 6, 3,
   35,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 23,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i16,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_immi16),
                    MVT::v8i16, 6, 0, 4, 5, 2, 6, 3,
   35,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i32,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_immi32),
                    MVT::v4i32, 6, 0, 4, 5, 2, 6, 3,
   0,
  114,
   OPC_CheckChild0Integer, 32|128,31,
   OPC_RecordChild1,
   OPC_Scope, 26,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTf2xsd),
                    MVT::v2i32, 4, 0, 2, 3, 4,
   26,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTh2xsd),
                    MVT::v4i16, 4, 0, 2, 3, 4,
   26,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTf2xsq),
                    MVT::v4i32, 4, 0, 2, 3, 4,
   26,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTh2xsq),
                    MVT::v8i16, 4, 0, 2, 3, 4,
   0,
  114,
   OPC_CheckChild0Integer, 33|128,31,
   OPC_RecordChild1,
   OPC_Scope, 26,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTf2xud),
                    MVT::v2i32, 4, 0, 2, 3, 4,
   26,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTh2xud),
                    MVT::v4i16, 4, 0, 2, 3, 4,
   26,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTf2xuq),
                    MVT::v4i32, 4, 0, 2, 3, 4,
   26,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTh2xuq),
                    MVT::v8i16, 4, 0, 2, 3, 4,
   0,
  7|128,1,
   OPC_CheckChild0Integer, 51|128,29,
   OPC_RecordChild1,
   OPC_Scope, 62,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_Scope, 31,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckType, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   65,
    OPC_CheckChild1Type, 4|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 4|128,1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    26,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 4|128,1,
     OPC_CheckType, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  7|128,1,
   OPC_CheckChild0Integer, 56|128,29,
   OPC_RecordChild1,
   OPC_Scope, 62,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_Scope, 31,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckType, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   65,
    OPC_CheckChild1Type, 4|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 4|128,1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    26,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 4|128,1,
     OPC_CheckType, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  7|128,1,
   OPC_CheckChild0Integer, 52|128,29,
   OPC_RecordChild1,
   OPC_Scope, 62,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_Scope, 31,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 10,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckType, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 10,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   65,
    OPC_CheckChild1Type, 4|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 4|128,1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 10,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    26,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 4|128,1,
     OPC_CheckType, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 10,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  7|128,1,
   OPC_CheckChild0Integer, 55|128,29,
   OPC_RecordChild1,
   OPC_Scope, 62,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_Scope, 31,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckType, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   65,
    OPC_CheckChild1Type, 4|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 4|128,1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    26,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 4|128,1,
     OPC_CheckType, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  7|128,1,
   OPC_CheckChild0Integer, 53|128,29,
   OPC_RecordChild1,
   OPC_Scope, 62,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_Scope, 31,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 12,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckType, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 12,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   65,
    OPC_CheckChild1Type, 4|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 4|128,1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 12,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    26,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 4|128,1,
     OPC_CheckType, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 12,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  7|128,1,
   OPC_CheckChild0Integer, 54|128,29,
   OPC_RecordChild1,
   OPC_Scope, 62,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_Scope, 31,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 13,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckType, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 13,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   65,
    OPC_CheckChild1Type, 4|128,1,
    OPC_Scope, 32,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 4|128,1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 13,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    26,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 4|128,1,
     OPC_CheckType, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 13,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  94|128,2,
   OPC_CheckChild0Integer, 41|128,29,
   OPC_RecordChild1,
   OPC_Scope, 66,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 33,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_i8),
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
    27,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDi8),
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
    0,
   66,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 33,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_i16),
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
    27,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDi16),
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
    0,
   66,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 33,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_i32),
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
    27,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDi32),
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
    0,
   75,
    OPC_CheckChild1Type, 4|128,1,
    OPC_Scope, 37,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 4|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 4|128,1,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_f32),
                     4|128,1, 6, 0, 1, 4, 2, 5, 3,
    31,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 4|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 4|128,1,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDf32),
                     4|128,1, 6, 0, 1, 4, 2, 5, 3,
    0,
   66,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_Scope, 33,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_f16),
                     MVT::v8f16, 6, 0, 1, 4, 2, 5, 3,
    27,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDf16),
                     MVT::v8f16, 6, 0, 1, 4, 2, 5, 3,
    0,
   0,
  94|128,2,
   OPC_CheckChild0Integer, 107|128,29,
   OPC_RecordChild1,
   OPC_Scope, 66,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 33,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_i8),
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
    27,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBi8),
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
    0,
   66,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 33,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_i16),
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
    27,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBi16),
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
    0,
   66,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 33,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_i32),
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
    27,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBi32),
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
    0,
   75,
    OPC_CheckChild1Type, 4|128,1,
    OPC_Scope, 37,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 4|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 4|128,1,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_f32),
                     4|128,1, 6, 0, 1, 4, 2, 5, 3,
    31,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 4|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 4|128,1,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBf32),
                     4|128,1, 6, 0, 1, 4, 2, 5, 3,
    0,
   66,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_Scope, 33,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_f16),
                     MVT::v8f16, 6, 0, 1, 4, 2, 5, 3,
    27,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBf16),
                     MVT::v8f16, 6, 0, 1, 4, 2, 5, 3,
    0,
   0,
  94|128,2,
   OPC_CheckChild0Integer, 81|128,29,
   OPC_RecordChild1,
   OPC_Scope, 66,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 33,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_i8),
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
    27,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULi8),
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
    0,
   66,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 33,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_i16),
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
    27,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULi16),
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
    0,
   66,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 33,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_i32),
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
    27,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULi32),
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
    0,
   66,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_Scope, 33,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_f16),
                     MVT::v8f16, 6, 0, 1, 4, 2, 5, 3,
    27,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULf16),
                     MVT::v8f16, 6, 0, 1, 4, 2, 5, 3,
    0,
   75,
    OPC_CheckChild1Type, 4|128,1,
    OPC_Scope, 37,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, 4|128,1,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 4|128,1,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_f32),
                     4|128,1, 6, 0, 1, 4, 2, 5, 3,
    31,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 4|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 4|128,1,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULf32),
                     4|128,1, 6, 0, 1, 4, 2, 5, 3,
    0,
   0,
  79|128,1,
   OPC_CheckChild0Integer, 93|128,29,
   OPC_RecordChild1,
   OPC_Scope, 66,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 33,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULH_qr_s8),
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
    27,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULHi8),
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
    0,
   66,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 33,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULH_qr_s16),
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
    27,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULHi16),
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
    0,
   66,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 33,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULH_qr_s32),
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
    27,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULHi32),
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
    0,
   0,
  85|128,1,
   OPC_CheckChild0Integer, 64|128,30,
   OPC_RecordChild1,
   OPC_Scope, 68,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 34,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULH_qr_s8),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    28,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULHi8),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    0,
   68,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 34,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULH_qr_s16),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    28,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULHi16),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    0,
   68,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 34,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULH_qr_s32),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    28,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULHi32),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  79|128,1,
   OPC_CheckChild0Integer, 95|128,29,
   OPC_RecordChild1,
   OPC_Scope, 66,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 33,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMULH_qr_s8),
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
    27,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMULHi8),
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
    0,
   66,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 33,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMULH_qr_s16),
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
    27,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMULHi16),
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
    0,
   66,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 33,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMULH_qr_s32),
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
    27,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMULHi32),
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
    0,
   0,
  85|128,1,
   OPC_CheckChild0Integer, 73|128,30,
   OPC_RecordChild1,
   OPC_Scope, 68,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 34,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMULH_qr_s8),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    28,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMULHi8),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    0,
   68,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 34,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMULH_qr_s16),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    28,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMULHi16),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    0,
   68,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 34,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMULH_qr_s32),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    28,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMULHi32),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  4|128,1,
   OPC_CheckChild0Integer, 44|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VHADDsv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VHADDsv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   19, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VHADDsv8i16),
                    MVT::v8i16, 4, 0, 1, 2, 3,
   19, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VHADDsv4i32),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VHADDsv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   19, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VHADDsv16i8),
                    MVT::v16i8, 4, 0, 1, 2, 3,
   0,
  4|128,1,
   OPC_CheckChild0Integer, 45|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VHADDuv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VHADDuv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   19, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VHADDuv8i16),
                    MVT::v8i16, 4, 0, 1, 2, 3,
   19, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VHADDuv4i32),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VHADDuv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   19, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VHADDuv16i8),
                    MVT::v16i8, 4, 0, 1, 2, 3,
   0,
  4|128,1,
   OPC_CheckChild0Integer, 104|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRHADDsv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRHADDsv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   19, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRHADDsv8i16),
                    MVT::v8i16, 4, 0, 1, 2, 3,
   19, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRHADDsv4i32),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRHADDsv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   19, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRHADDsv16i8),
                    MVT::v16i8, 4, 0, 1, 2, 3,
   0,
  4|128,1,
   OPC_CheckChild0Integer, 105|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRHADDuv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRHADDuv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   19, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRHADDuv8i16),
                    MVT::v8i16, 4, 0, 1, 2, 3,
   19, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRHADDuv4i32),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRHADDuv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   19, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRHADDuv16i8),
                    MVT::v16i8, 4, 0, 1, 2, 3,
   0,
  69,
   OPC_CheckChild0Integer, 101|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRADDHNv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRADDHNv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRADDHNv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   0,
  48,
   OPC_CheckChild0Integer, 70|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULpd),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   19, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULpq),
                    MVT::v16i8, 4, 0, 1, 2, 3,
   0,
  43,
   OPC_CheckChild0Integer, 67|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULLp8),
                    MVT::v8i16, 4, 0, 1, 2, 3,
   14, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate, 65,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULLp64),
                    MVT::v2i64, 2, 0, 1,
   0,
  24,
   OPC_CheckChild0Integer, 14|128,31,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v16i8,
   OPC_RecordChild3,
   OPC_CheckChild3Type, MVT::v16i8,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 51,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSMMLA),
                   MVT::v4i32, 3, 0, 1, 2,
  24,
   OPC_CheckChild0Integer, 16|128,31,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v16i8,
   OPC_RecordChild3,
   OPC_CheckChild3Type, MVT::v16i8,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 51,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VUMMLA),
                   MVT::v4i32, 3, 0, 1, 2,
  24,
   OPC_CheckChild0Integer, 18|128,31,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v16i8,
   OPC_RecordChild3,
   OPC_CheckChild3Type, MVT::v16i8,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 51,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VUSMMLA),
                   MVT::v4i32, 3, 0, 1, 2,
  4|128,1,
   OPC_CheckChild0Integer, 46|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VHSUBsv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VHSUBsv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   19, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VHSUBsv8i16),
                    MVT::v8i16, 4, 0, 1, 2, 3,
   19, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VHSUBsv4i32),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VHSUBsv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   19, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VHSUBsv16i8),
                    MVT::v16i8, 4, 0, 1, 2, 3,
   0,
  4|128,1,
   OPC_CheckChild0Integer, 47|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VHSUBuv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VHSUBuv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   19, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VHSUBuv8i16),
                    MVT::v8i16, 4, 0, 1, 2, 3,
   19, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VHSUBuv4i32),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VHSUBuv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   19, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VHSUBuv16i8),
                    MVT::v16i8, 4, 0, 1, 2, 3,
   0,
  69,
   OPC_CheckChild0Integer, 111|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSUBHNv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSUBHNv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSUBHNv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   0,
  96,
   OPC_CheckChild0Integer, 22|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 21, MVT::v2i32,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VACGEfd),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   21, MVT::v4i32,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VACGEfq),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   20, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VACGEhd),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   20, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VACGEhq),
                    MVT::v8i16, 4, 0, 1, 2, 3,
   0,
  96,
   OPC_CheckChild0Integer, 23|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 21, MVT::v2i32,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VACGTfd),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   21, MVT::v4i32,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VACGTfq),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   20, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VACGThd),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   20, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VACGThq),
                    MVT::v8i16, 4, 0, 1, 2, 3,
   0,
  116,
   OPC_CheckChild0Integer, 73|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADDi8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADDi16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADDi32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   22, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADDf),
                    2|128,1, 4, 0, 1, 2, 3,
   20, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADDh),
                    MVT::v4f16, 4, 0, 1, 2, 3,
   0,
  108,
   OPC_CheckChild0Integer, 74|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 15, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADDLsv8i8),
                    MVT::v4i16, 3, 0, 1, 2,
   15, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADDLsv4i16),
                    MVT::v2i32, 3, 0, 1, 2,
   15, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADDLsv2i32),
                    MVT::v1i64, 3, 0, 1, 2,
   15, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADDLsv16i8),
                    MVT::v8i16, 3, 0, 1, 2,
   15, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADDLsv8i16),
                    MVT::v4i32, 3, 0, 1, 2,
   15, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADDLsv4i32),
                    MVT::v2i64, 3, 0, 1, 2,
   0,
  108,
   OPC_CheckChild0Integer, 75|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 15, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADDLuv8i8),
                    MVT::v4i16, 3, 0, 1, 2,
   15, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADDLuv4i16),
                    MVT::v2i32, 3, 0, 1, 2,
   15, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADDLuv2i32),
                    MVT::v1i64, 3, 0, 1, 2,
   15, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADDLuv16i8),
                    MVT::v8i16, 3, 0, 1, 2,
   15, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADDLuv8i16),
                    MVT::v4i32, 3, 0, 1, 2,
   15, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADDLuv4i32),
                    MVT::v2i64, 3, 0, 1, 2,
   0,
  4|128,1,
   OPC_CheckChild0Integer, 71|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADALsv8i8),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADALsv4i16),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   19, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADALsv2i32),
                    MVT::v1i64, 4, 0, 1, 2, 3,
   19, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADALsv16i8),
                    MVT::v8i16, 4, 0, 1, 2, 3,
   19, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADALsv8i16),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   19, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADALsv4i32),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   0,
  4|128,1,
   OPC_CheckChild0Integer, 72|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADALuv8i8),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADALuv4i16),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   19, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADALuv2i32),
                    MVT::v1i64, 4, 0, 1, 2, 3,
   19, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADALuv16i8),
                    MVT::v8i16, 4, 0, 1, 2, 3,
   19, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADALuv8i16),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   19, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPADALuv4i32),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   0,
  116,
   OPC_CheckChild0Integer, 76|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPMAXs8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPMAXs16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPMAXs32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   22, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPMAXf),
                    2|128,1, 4, 0, 1, 2, 3,
   20, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPMAXh),
                    MVT::v4f16, 4, 0, 1, 2, 3,
   0,
  69,
   OPC_CheckChild0Integer, 77|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPMAXu8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPMAXu16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPMAXu32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   0,
  116,
   OPC_CheckChild0Integer, 78|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPMINs8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPMINs16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPMINs32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   22, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPMINf),
                    2|128,1, 4, 0, 1, 2, 3,
   20, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPMINh),
                    MVT::v4f16, 4, 0, 1, 2, 3,
   0,
  69,
   OPC_CheckChild0Integer, 79|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPMINu8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPMINu16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VPMINu32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   0,
  116,
   OPC_CheckChild0Integer, 102|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 15, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRECPEd),
                    MVT::v2i32, 3, 0, 1, 2,
   15, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRECPEq),
                    MVT::v4i32, 3, 0, 1, 2,
   17, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRECPEfd),
                    2|128,1, 3, 0, 1, 2,
   17, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRECPEfq),
                    4|128,1, 3, 0, 1, 2,
   16, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRECPEhd),
                    MVT::v4f16, 3, 0, 1, 2,
   16, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRECPEhq),
                    MVT::v8f16, 3, 0, 1, 2,
   0,
  116,
   OPC_CheckChild0Integer, 109|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 15, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSQRTEd),
                    MVT::v2i32, 3, 0, 1, 2,
   15, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSQRTEq),
                    MVT::v4i32, 3, 0, 1, 2,
   17, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSQRTEfd),
                    2|128,1, 3, 0, 1, 2,
   17, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSQRTEfq),
                    4|128,1, 3, 0, 1, 2,
   16, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSQRTEhd),
                    MVT::v4f16, 3, 0, 1, 2,
   16, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSQRTEhq),
                    MVT::v8f16, 3, 0, 1, 2,
   0,
  46|128,1,
   OPC_CheckChild0Integer, 113|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLsv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLsv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   19, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLsv8i16),
                    MVT::v8i16, 4, 0, 1, 2, 3,
   19, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLsv4i32),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLsv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   19, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLsv16i8),
                    MVT::v16i8, 4, 0, 1, 2, 3,
   19, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLsv1i64),
                    MVT::v1i64, 4, 0, 1, 2, 3,
   19, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLsv2i64),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   0,
  46|128,1,
   OPC_CheckChild0Integer, 114|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLuv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLuv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   19, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLuv8i16),
                    MVT::v8i16, 4, 0, 1, 2, 3,
   19, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLuv4i32),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLuv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   19, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLuv16i8),
                    MVT::v16i8, 4, 0, 1, 2, 3,
   19, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLuv1i64),
                    MVT::v1i64, 4, 0, 1, 2, 3,
   19, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLuv2i64),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   0,
  46|128,1,
   OPC_CheckChild0Integer, 107|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHLsv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHLsv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   19, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHLsv8i16),
                    MVT::v8i16, 4, 0, 1, 2, 3,
   19, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHLsv4i32),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHLsv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   19, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHLsv16i8),
                    MVT::v16i8, 4, 0, 1, 2, 3,
   19, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHLsv1i64),
                    MVT::v1i64, 4, 0, 1, 2, 3,
   19, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHLsv2i64),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   0,
  46|128,1,
   OPC_CheckChild0Integer, 108|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHLuv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHLuv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   19, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHLuv8i16),
                    MVT::v8i16, 4, 0, 1, 2, 3,
   19, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHLuv4i32),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHLuv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   19, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHLuv16i8),
                    MVT::v16i8, 4, 0, 1, 2, 3,
   19, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHLuv1i64),
                    MVT::v1i64, 4, 0, 1, 2, 3,
   19, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHLuv2i64),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   0,
  46|128,1,
   OPC_CheckChild0Integer, 98|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLsv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLsv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   19, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLsv8i16),
                    MVT::v8i16, 4, 0, 1, 2, 3,
   19, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLsv4i32),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLsv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   19, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLsv16i8),
                    MVT::v16i8, 4, 0, 1, 2, 3,
   19, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLsv1i64),
                    MVT::v1i64, 4, 0, 1, 2, 3,
   19, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLsv2i64),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   0,
  46|128,1,
   OPC_CheckChild0Integer, 100|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLuv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLuv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   19, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLuv8i16),
                    MVT::v8i16, 4, 0, 1, 2, 3,
   19, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLuv4i32),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLuv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   19, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLuv16i8),
                    MVT::v16i8, 4, 0, 1, 2, 3,
   19, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLuv1i64),
                    MVT::v1i64, 4, 0, 1, 2, 3,
   19, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLuv2i64),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   0,
  46|128,1,
   OPC_CheckChild0Integer, 93|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRSHLsv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRSHLsv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   19, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRSHLsv8i16),
                    MVT::v8i16, 4, 0, 1, 2, 3,
   19, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRSHLsv4i32),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRSHLsv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   19, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRSHLsv16i8),
                    MVT::v16i8, 4, 0, 1, 2, 3,
   19, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRSHLsv1i64),
                    MVT::v1i64, 4, 0, 1, 2, 3,
   19, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRSHLsv2i64),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   0,
  46|128,1,
   OPC_CheckChild0Integer, 94|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRSHLuv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRSHLuv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   19, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRSHLuv8i16),
                    MVT::v8i16, 4, 0, 1, 2, 3,
   19, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRSHLuv4i32),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRSHLuv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   19, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRSHLuv16i8),
                    MVT::v16i8, 4, 0, 1, 2, 3,
   19, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRSHLuv1i64),
                    MVT::v1i64, 4, 0, 1, 2, 3,
   19, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRSHLuv2i64),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   0,
  108,
   OPC_CheckChild0Integer, 80|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 15, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQABSv8i8),
                    MVT::v8i8, 3, 0, 1, 2,
   15, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQABSv4i16),
                    MVT::v4i16, 3, 0, 1, 2,
   15, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQABSv2i32),
                    MVT::v2i32, 3, 0, 1, 2,
   15, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQABSv16i8),
                    MVT::v16i8, 3, 0, 1, 2,
   15, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQABSv8i16),
                    MVT::v8i16, 3, 0, 1, 2,
   15, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQABSv4i32),
                    MVT::v4i32, 3, 0, 1, 2,
   0,
  108,
   OPC_CheckChild0Integer, 86|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 15, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQNEGv8i8),
                    MVT::v8i8, 3, 0, 1, 2,
   15, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQNEGv4i16),
                    MVT::v4i16, 3, 0, 1, 2,
   15, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQNEGv2i32),
                    MVT::v2i32, 3, 0, 1, 2,
   15, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQNEGv16i8),
                    MVT::v16i8, 3, 0, 1, 2,
   15, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQNEGv8i16),
                    MVT::v8i16, 3, 0, 1, 2,
   15, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQNEGv4i32),
                    MVT::v4i32, 3, 0, 1, 2,
   0,
  108,
   OPC_CheckChild0Integer, 27|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 15, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLSv8i8),
                    MVT::v8i8, 3, 0, 1, 2,
   15, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLSv4i16),
                    MVT::v4i16, 3, 0, 1, 2,
   15, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLSv2i32),
                    MVT::v2i32, 3, 0, 1, 2,
   15, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLSv16i8),
                    MVT::v16i8, 3, 0, 1, 2,
   15, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLSv8i16),
                    MVT::v8i16, 3, 0, 1, 2,
   15, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLSv4i32),
                    MVT::v4i32, 3, 0, 1, 2,
   0,
  57,
   OPC_CheckChild0Integer, 83|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 15, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQMOVNsv8i8),
                    MVT::v8i8, 3, 0, 1, 2,
   15, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQMOVNsv4i16),
                    MVT::v4i16, 3, 0, 1, 2,
   15, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQMOVNsv2i32),
                    MVT::v2i32, 3, 0, 1, 2,
   0,
  57,
   OPC_CheckChild0Integer, 85|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 15, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQMOVNuv8i8),
                    MVT::v8i8, 3, 0, 1, 2,
   15, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQMOVNuv4i16),
                    MVT::v4i16, 3, 0, 1, 2,
   15, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQMOVNuv2i32),
                    MVT::v2i32, 3, 0, 1, 2,
   0,
  57,
   OPC_CheckChild0Integer, 84|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 15, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQMOVNsuv8i8),
                    MVT::v8i8, 3, 0, 1, 2,
   15, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQMOVNsuv4i16),
                    MVT::v4i16, 3, 0, 1, 2,
   15, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQMOVNsuv2i32),
                    MVT::v2i32, 3, 0, 1, 2,
   0,
  56,
   OPC_CheckChild0Integer, 28|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::v2i32,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTANSDf),
                    MVT::v2i32, 1, 0,
   11, MVT::v4i32,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTANSQf),
                    MVT::v4i32, 1, 0,
   10, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 25,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTANSDh),
                    MVT::v4i16, 1, 0,
   10, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 25,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTANSQh),
                    MVT::v8i16, 1, 0,
   0,
  56,
   OPC_CheckChild0Integer, 29|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::v2i32,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTANUDf),
                    MVT::v2i32, 1, 0,
   11, MVT::v4i32,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTANUQf),
                    MVT::v4i32, 1, 0,
   10, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 25,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTANUDh),
                    MVT::v4i16, 1, 0,
   10, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 25,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTANUQh),
                    MVT::v8i16, 1, 0,
   0,
  56,
   OPC_CheckChild0Integer, 40|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::v2i32,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTNNSDf),
                    MVT::v2i32, 1, 0,
   11, MVT::v4i32,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTNNSQf),
                    MVT::v4i32, 1, 0,
   10, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 25,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTNNSDh),
                    MVT::v4i16, 1, 0,
   10, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 25,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTNNSQh),
                    MVT::v8i16, 1, 0,
   0,
  56,
   OPC_CheckChild0Integer, 41|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::v2i32,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTNNUDf),
                    MVT::v2i32, 1, 0,
   11, MVT::v4i32,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTNNUQf),
                    MVT::v4i32, 1, 0,
   10, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 25,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTNNUDh),
                    MVT::v4i16, 1, 0,
   10, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 25,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTNNUQh),
                    MVT::v8i16, 1, 0,
   0,
  56,
   OPC_CheckChild0Integer, 42|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::v2i32,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTPNSDf),
                    MVT::v2i32, 1, 0,
   11, MVT::v4i32,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTPNSQf),
                    MVT::v4i32, 1, 0,
   10, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 25,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTPNSDh),
                    MVT::v4i16, 1, 0,
   10, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 25,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTPNSQh),
                    MVT::v8i16, 1, 0,
   0,
  56,
   OPC_CheckChild0Integer, 43|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::v2i32,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTPNUDf),
                    MVT::v2i32, 1, 0,
   11, MVT::v4i32,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTPNUQf),
                    MVT::v4i32, 1, 0,
   10, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 25,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTPNUDh),
                    MVT::v4i16, 1, 0,
   10, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 25,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTPNUQh),
                    MVT::v8i16, 1, 0,
   0,
  56,
   OPC_CheckChild0Integer, 38|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::v2i32,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTMNSDf),
                    MVT::v2i32, 1, 0,
   11, MVT::v4i32,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTMNSQf),
                    MVT::v4i32, 1, 0,
   10, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 25,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTMNSDh),
                    MVT::v4i16, 1, 0,
   10, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 25,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTMNSQh),
                    MVT::v8i16, 1, 0,
   0,
  56,
   OPC_CheckChild0Integer, 39|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::v2i32,
    OPC_CheckChild1Type, 2|128,1,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTMNUDf),
                    MVT::v2i32, 1, 0,
   11, MVT::v4i32,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTMNUQf),
                    MVT::v4i32, 1, 0,
   10, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 25,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTMNUDh),
                    MVT::v4i16, 1, 0,
   10, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 25,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTMNUQh),
                    MVT::v8i16, 1, 0,
   0,
  18,
   OPC_CheckChild0Integer, 34|128,31,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 89,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTf2h),
                   MVT::v4i16, 3, 0, 1, 2,
  21,
   OPC_CheckChild0Integer, 1|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VTBX1),
                   MVT::v8i8, 5, 0, 1, 2, 3, 4,
  14,
   OPC_CheckChild0Integer, 123|128,30,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 65,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::AESD),
                   MVT::v16i8, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 124|128,30,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 65,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::AESE),
                   MVT::v16i8, 2, 0, 1,
  12,
   OPC_CheckChild0Integer, 125|128,30,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 65,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::AESIMC),
                   MVT::v16i8, 1, 0,
  12,
   OPC_CheckChild0Integer, 126|128,30,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 65,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::AESMC),
                   MVT::v16i8, 1, 0,
  14,
   OPC_CheckChild0Integer, 9|128,31,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 60,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::SHA1SU1),
                   MVT::v4i32, 2, 0, 1,
  14,
   OPC_CheckChild0Integer, 12|128,31,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 60,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::SHA256SU0),
                   MVT::v4i32, 2, 0, 1,
  16,
   OPC_CheckChild0Integer, 8|128,31,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 60,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::SHA1SU0),
                   MVT::v4i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 10|128,31,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 60,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::SHA256H),
                   MVT::v4i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 11|128,31,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 60,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::SHA256H2),
                   MVT::v4i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Integer, 13|128,31,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 60,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::SHA256SU1),
                   MVT::v4i32, 3, 0, 1, 2,
  106,
   OPC_CheckChild0Integer, 85|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMVN),
                    MVT::v16i8, 5, 0, 3, 1, 4, 2,
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMVN),
                    MVT::v8i16, 5, 0, 3, 1, 4, 2,
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMVN),
                    MVT::v4i32, 5, 0, 3, 1, 4, 2,
   23, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMVN),
                    MVT::v2i64, 5, 0, 3, 1, 4, 2,
   0,
  122,
   OPC_CheckChild0Integer, 46|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 27, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VAND),
                    MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
   27, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VAND),
                    MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
   27, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VAND),
                    MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
   27, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v2i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VAND),
                    MVT::v2i64, 6, 0, 1, 4, 2, 5, 3,
   0,
  122,
   OPC_CheckChild0Integer, 88|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 27, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORR),
                    MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
   27, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORR),
                    MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
   27, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORR),
                    MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
   27, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v2i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORR),
                    MVT::v2i64, 6, 0, 1, 4, 2, 5, 3,
   0,
  122,
   OPC_CheckChild0Integer, 57|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 27, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VEOR),
                    MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
   27, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VEOR),
                    MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
   27, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VEOR),
                    MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
   27, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v2i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VEOR),
                    MVT::v2i64, 6, 0, 1, 4, 2, 5, 3,
   0,
  122,
   OPC_CheckChild0Integer, 48|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 27, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                    MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
   27, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                    MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
   27, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                    MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
   27, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v2i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                    MVT::v2i64, 6, 0, 1, 4, 2, 5, 3,
   0,
  122,
   OPC_CheckChild0Integer, 87|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 27, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                    MVT::v16i8, 6, 0, 1, 4, 2, 5, 3,
   27, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                    MVT::v8i16, 6, 0, 1, 4, 2, 5, 3,
   27, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                    MVT::v4i32, 6, 0, 1, 4, 2, 5, 3,
   27, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v2i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v2i64,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                    MVT::v2i64, 6, 0, 1, 4, 2, 5, 3,
   0,
  84,
   OPC_CheckChild0Integer, 124|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 24, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCLSs8),
                    MVT::v16i8, 5, 0, 1, 2, 3, 4,
   24, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCLSs16),
                    MVT::v8i16, 5, 0, 1, 2, 3, 4,
   24, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCLSs32),
                    MVT::v4i32, 5, 0, 1, 2, 3, 4,
   0,
  81,
   OPC_CheckChild0Integer, 49|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCLSs8),
                    MVT::v16i8, 5, 0, 3, 1, 4, 2,
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCLSs16),
                    MVT::v8i16, 5, 0, 3, 1, 4, 2,
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCLSs32),
                    MVT::v4i32, 5, 0, 3, 1, 4, 2,
   0,
  81,
   OPC_CheckChild0Integer, 50|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCLZs8),
                    MVT::v16i8, 5, 0, 3, 1, 4, 2,
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCLZs16),
                    MVT::v8i16, 5, 0, 3, 1, 4, 2,
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCLZs32),
                    MVT::v4i32, 5, 0, 3, 1, 4, 2,
   0,
  7|128,1,
   OPC_CheckChild0Integer, 40|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABSs8),
                    MVT::v16i8, 5, 0, 3, 1, 4, 2,
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABSs16),
                    MVT::v8i16, 5, 0, 3, 1, 4, 2,
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABSs32),
                    MVT::v4i32, 5, 0, 3, 1, 4, 2,
   23, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABSf16),
                    MVT::v8f16, 5, 0, 3, 1, 4, 2,
   26, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 4|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABSf32),
                    4|128,1, 5, 0, 3, 1, 4, 2,
   0,
  81,
   OPC_CheckChild0Integer, 91|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQABSs8),
                    MVT::v16i8, 5, 0, 3, 1, 4, 2,
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQABSs16),
                    MVT::v8i16, 5, 0, 3, 1, 4, 2,
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQABSs32),
                    MVT::v4i32, 5, 0, 3, 1, 4, 2,
   0,
  7|128,1,
   OPC_CheckChild0Integer, 86|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VNEGs8),
                    MVT::v16i8, 5, 0, 3, 1, 4, 2,
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VNEGs16),
                    MVT::v8i16, 5, 0, 3, 1, 4, 2,
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VNEGs32),
                    MVT::v4i32, 5, 0, 3, 1, 4, 2,
   23, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VNEGf16),
                    MVT::v8f16, 5, 0, 3, 1, 4, 2,
   26, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 4|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VNEGf32),
                    4|128,1, 5, 0, 3, 1, 4, 2,
   0,
  81,
   OPC_CheckChild0Integer, 94|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQNEGs8),
                    MVT::v16i8, 5, 0, 3, 1, 4, 2,
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQNEGs16),
                    MVT::v8i16, 5, 0, 3, 1, 4, 2,
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQNEGs32),
                    MVT::v4i32, 5, 0, 3, 1, 4, 2,
   0,
  81,
   OPC_CheckChild0Integer, 43|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINAs8),
                    MVT::v16i8, 5, 0, 1, 3, 2, 4,
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINAs16),
                    MVT::v8i16, 5, 0, 1, 3, 2, 4,
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINAs32),
                    MVT::v4i32, 5, 0, 1, 3, 2, 4,
   0,
  81,
   OPC_CheckChild0Integer, 40|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXAs8),
                    MVT::v16i8, 5, 0, 1, 3, 2, 4,
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXAs16),
                    MVT::v8i16, 5, 0, 1, 3, 2, 4,
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXAs32),
                    MVT::v4i32, 5, 0, 1, 3, 2, 4,
   0,
  21|128,1,
   OPC_CheckChild0Integer, 120|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 26, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBRSR8),
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
   26, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBRSR16),
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
   26, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBRSR32),
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
   26, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBRSR16),
                    MVT::v8f16, 6, 0, 1, 2, 3, 4, 5,
   28, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBRSR32),
                    4|128,1, 6, 0, 1, 2, 3, 4, 5,
   0,
  17|128,1,
   OPC_CheckChild0Integer, 121|128,29,
   OPC_RecordChild1,
   OPC_SwitchType , 25, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBRSR8),
                    MVT::v16i8, 6, 1, 2, 4, 3, 5, 0,
   25, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBRSR16),
                    MVT::v8i16, 6, 1, 2, 4, 3, 5, 0,
   25, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBRSR32),
                    MVT::v4i32, 6, 1, 2, 4, 3, 5, 0,
   25, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBRSR16),
                    MVT::v8f16, 6, 1, 2, 4, 3, 5, 0,
   28, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBRSR32),
                    4|128,1, 6, 1, 2, 4, 3, 5, 0,
   0,
  87,
   OPC_CheckChild0Integer, 46|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 25, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLA_qr_i8),
                    MVT::v16i8, 6, 0, 1, 2, 4, 3, 5,
   25, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLA_qr_i16),
                    MVT::v8i16, 6, 0, 1, 2, 4, 3, 5,
   25, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLA_qr_i32),
                    MVT::v4i32, 6, 0, 1, 2, 4, 3, 5,
   0,
  87,
   OPC_CheckChild0Integer, 47|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 25, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLAS_qr_i8),
                    MVT::v16i8, 6, 0, 1, 2, 4, 3, 5,
   25, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLAS_qr_i16),
                    MVT::v8i16, 6, 0, 1, 2, 4, 3, 5,
   25, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLAS_qr_i32),
                    MVT::v4i32, 6, 0, 1, 2, 4, 3, 5,
   0,
  84,
   OPC_CheckChild0Integer, 60|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 24, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLAH_qrs8),
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
   24, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLAH_qrs16),
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
   24, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLAH_qrs32),
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
   0,
  87,
   OPC_CheckChild0Integer, 61|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 25, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLAH_qrs8),
                    MVT::v16i8, 6, 0, 1, 2, 4, 3, 5,
   25, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLAH_qrs16),
                    MVT::v8i16, 6, 0, 1, 2, 4, 3, 5,
   25, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLAH_qrs32),
                    MVT::v4i32, 6, 0, 1, 2, 4, 3, 5,
   0,
  84,
   OPC_CheckChild0Integer, 69|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 24, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLAH_qrs8),
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
   24, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLAH_qrs16),
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
   24, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLAH_qrs32),
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
   0,
  87,
   OPC_CheckChild0Integer, 70|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 25, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLAH_qrs8),
                    MVT::v16i8, 6, 0, 1, 2, 4, 3, 5,
   25, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLAH_qrs16),
                    MVT::v8i16, 6, 0, 1, 2, 4, 3, 5,
   25, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLAH_qrs32),
                    MVT::v4i32, 6, 0, 1, 2, 4, 3, 5,
   0,
  84,
   OPC_CheckChild0Integer, 62|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 24, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLASH_qrs8),
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
   24, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLASH_qrs16),
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
   24, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLASH_qrs32),
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
   0,
  87,
   OPC_CheckChild0Integer, 63|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 25, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLASH_qrs8),
                    MVT::v16i8, 6, 0, 1, 2, 4, 3, 5,
   25, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLASH_qrs16),
                    MVT::v8i16, 6, 0, 1, 2, 4, 3, 5,
   25, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMLASH_qrs32),
                    MVT::v4i32, 6, 0, 1, 2, 4, 3, 5,
   0,
  84,
   OPC_CheckChild0Integer, 71|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 24, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLASH_qrs8),
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
   24, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLASH_qrs16),
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
   24, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLASH_qrs32),
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
   0,
  87,
   OPC_CheckChild0Integer, 72|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 25, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLASH_qrs8),
                    MVT::v16i8, 6, 0, 1, 2, 4, 3, 5,
   25, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLASH_qrs16),
                    MVT::v8i16, 6, 0, 1, 2, 4, 3, 5,
   25, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQRDMLASH_qrs32),
                    MVT::v4i32, 6, 0, 1, 2, 4, 3, 5,
   0,
  20,
   OPC_CheckChild0Integer, 4|128,30,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCTP8),
                   MVT::v16i1, 4, 0, 1, 2, 3,
  20,
   OPC_CheckChild0Integer, 1|128,30,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCTP16),
                   MVT::v8i1, 4, 0, 1, 2, 3,
  20,
   OPC_CheckChild0Integer, 2|128,30,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCTP32),
                   MVT::v4i1, 4, 0, 1, 2, 3,
  20,
   OPC_CheckChild0Integer, 3|128,30,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCTP64),
                   MVT::v2i1, 4, 0, 1, 2, 3,
  39,
   OPC_CheckChild0Integer, 2|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 67|128,0,
   OPC_EmitIntegerI32, ARM::dsub_0,
   OPC_EmitIntegerI32, ARM::dsub_1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v16i8, 5, 4, 1, 5, 2, 6,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VTBX2),
                   MVT::v8i8, 5, 0, 7, 3, 8, 9,
  47,
   OPC_CheckChild0Integer, 0|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 110|128,0,
   OPC_EmitIntegerI32, ARM::dsub_0,
   OPC_EmitIntegerI32, ARM::dsub_1,
   OPC_EmitIntegerI32, ARM::dsub_2,
   OPC_EmitIntegerI32, ARM::dsub_3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v4i64, 9, 5, 0, 6, 1, 7, 2, 8, 3, 9,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VTBL4Pseudo),
                   MVT::v8i8, 4, 10, 4, 11, 12,
  49,
   OPC_CheckChild0Integer, 4|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 110|128,0,
   OPC_EmitIntegerI32, ARM::dsub_0,
   OPC_EmitIntegerI32, ARM::dsub_1,
   OPC_EmitIntegerI32, ARM::dsub_2,
   OPC_EmitIntegerI32, ARM::dsub_3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v4i64, 9, 6, 1, 7, 2, 8, 3, 9, 4, 10,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VTBX4Pseudo),
                   MVT::v8i8, 5, 0, 11, 5, 12, 13,
  51,
   OPC_CheckChild0Integer, 127|128,31,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 110|128,0,
   OPC_EmitIntegerI32, ARM::dsub_0,
   OPC_EmitIntegerI32, ARM::dsub_1,
   OPC_EmitIntegerI32, ARM::dsub_2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v8i8, 0,
   OPC_EmitIntegerI32, ARM::dsub_3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v4i64, 9, 4, 0, 5, 1, 6, 2, 7, 8, 9,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VTBL3Pseudo),
                   MVT::v8i8, 4, 10, 3, 11, 12,
  53,
   OPC_CheckChild0Integer, 3|128,32,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 110|128,0,
   OPC_EmitIntegerI32, ARM::dsub_0,
   OPC_EmitIntegerI32, ARM::dsub_1,
   OPC_EmitIntegerI32, ARM::dsub_2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v8i8, 0,
   OPC_EmitIntegerI32, ARM::dsub_3,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v4i64, 9, 5, 1, 6, 2, 7, 3, 8, 9, 10,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VTBX3Pseudo),
                   MVT::v8i8, 5, 0, 11, 4, 12, 13,
  36,
   OPC_CheckChild0Integer, 4|128,31,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI64, 0,
   OPC_EmitIntegerI32, ARM::SPRRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f32, 2, 1, 4,
   OPC_EmitIntegerI32, ARM::ssub_0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                   MVT::v16i8, 3, 3, 5, 6,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::SHA1C),
                   MVT::v4i32, 3, 0, 7, 2,
  36,
   OPC_CheckChild0Integer, 6|128,31,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI64, 0,
   OPC_EmitIntegerI32, ARM::SPRRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f32, 2, 1, 4,
   OPC_EmitIntegerI32, ARM::ssub_0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                   MVT::v16i8, 3, 3, 5, 6,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::SHA1M),
                   MVT::v4i32, 3, 0, 7, 2,
  36,
   OPC_CheckChild0Integer, 7|128,31,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI64, 0,
   OPC_EmitIntegerI32, ARM::SPRRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f32, 2, 1, 4,
   OPC_EmitIntegerI32, ARM::ssub_0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::SUBREG_TO_REG),
                   MVT::v16i8, 3, 3, 5, 6,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::SHA1P),
                   MVT::v4i32, 3, 0, 7, 2,
  86|128,2,
   OPC_CheckChild0Integer, 119|128,29,
   OPC_RecordChild1,
   OPC_Scope, 45|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_Scope, 6|128,1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 92, TARGET_VAL(ISD::VSELECT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i1,
      OPC_Scope, 45,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 0|128,13,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_f32),
                       4|128,1, 6, 0, 2, 3, 1, 4, 0,
      40,
       OPC_RecordChild1,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 0|128,13,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDf32),
                       4|128,1, 6, 0, 2, 3, 1, 4, 0,
      0,
     33, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, 4|128,1,
      OPC_MoveParent,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_f32),
                      4|128,1, 6, 0, 1, 2, 3, 4, 5,
     0,
    31,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 4|128,1,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDf32),
                     4|128,1, 6, 0, 1, 2, 3, 4, 5,
    0,
   31|128,1,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_Scope, 125,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 86, TARGET_VAL(ISD::VSELECT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i1,
      OPC_Scope, 42,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 0|128,21,
       OPC_CheckType, MVT::v8i16,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8f16,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8f16,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_f16),
                       MVT::v8f16, 6, 0, 2, 3, 1, 4, 0,
      37,
       OPC_RecordChild1,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 0|128,21,
       OPC_CheckType, MVT::v8i16,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8f16,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8f16,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDf16),
                       MVT::v8f16, 6, 0, 2, 3, 1, 4, 0,
      0,
     30, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, MVT::v8f16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8f16,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_f16),
                      MVT::v8f16, 6, 0, 1, 2, 3, 4, 5,
     0,
    28,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDf16),
                     MVT::v8f16, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  82|128,2,
   OPC_CheckChild0Integer, 122|128,30,
   OPC_RecordChild1,
   OPC_Scope, 43|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_Scope, 4|128,1,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 90, TARGET_VAL(ISD::VSELECT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i1,
      OPC_Scope, 44,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 0,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_f32),
                       4|128,1, 6, 0, 2, 3, 1, 4, 0,
      39,
       OPC_RecordChild1,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 0,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBf32),
                       4|128,1, 6, 0, 2, 3, 1, 4, 0,
      0,
     33, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, 4|128,1,
      OPC_MoveParent,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_f32),
                      4|128,1, 6, 0, 1, 2, 3, 4, 5,
     0,
    31,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 4|128,1,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBf32),
                     4|128,1, 6, 0, 1, 2, 3, 4, 5,
    0,
   29|128,1,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_Scope, 123,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 84, TARGET_VAL(ISD::VSELECT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i1,
      OPC_Scope, 41,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 0,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8f16,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8f16,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_f16),
                       MVT::v8f16, 6, 0, 2, 3, 1, 4, 0,
      36,
       OPC_RecordChild1,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 0,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8f16,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8f16,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBf16),
                       MVT::v8f16, 6, 0, 2, 3, 1, 4, 0,
      0,
     30, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, MVT::v8f16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8f16,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_f16),
                      MVT::v8f16, 6, 0, 1, 2, 3, 4, 5,
     0,
    28,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBf16),
                     MVT::v8f16, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  71|128,2,
   OPC_CheckChild0Integer, 54|128,30,
   OPC_RecordChild1,
   OPC_Scope, 31|128,1,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_Scope, 125,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 86, TARGET_VAL(ISD::VSELECT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i1,
      OPC_Scope, 42,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 60|128,20,
       OPC_CheckType, MVT::v8i16,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8f16,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8f16,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_f16),
                       MVT::v8f16, 6, 0, 2, 3, 1, 4, 0,
      37,
       OPC_RecordChild1,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 60|128,20,
       OPC_CheckType, MVT::v8i16,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8f16,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8f16,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULf16),
                       MVT::v8f16, 6, 0, 2, 3, 1, 4, 0,
      0,
     30, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, MVT::v8f16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8f16,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_f16),
                      MVT::v8f16, 6, 0, 1, 2, 3, 4, 5,
     0,
    28,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULf16),
                     MVT::v8f16, 6, 0, 1, 2, 3, 4, 5,
    0,
   30|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_Scope, 120,
     OPC_MoveChild2,
     OPC_SwitchOpcode , 78, TARGET_VAL(ISD::VSELECT),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i1,
      OPC_Scope, 38,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVFPIMM),
       OPC_CheckChild0Integer, 112|128,0,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_f32),
                       4|128,1, 6, 0, 2, 3, 1, 4, 0,
      33,
       OPC_RecordChild1,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVFPIMM),
       OPC_CheckChild0Integer, 112|128,0,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULf32),
                       4|128,1, 6, 0, 2, 3, 1, 4, 0,
      0,
     33, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, 4|128,1,
      OPC_MoveParent,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_f32),
                      4|128,1, 6, 0, 1, 2, 3, 4, 5,
     0,
    31,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 4|128,1,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULf32),
                     4|128,1, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  29|128,1,
   OPC_CheckChild0Integer, 127|128,30,
   OPC_RecordChild1,
   OPC_Scope, 70,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4bf16,
    OPC_Scope, 43,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 2|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_CheckType, 2|128,1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4bf16,
     OPC_MoveParent,
     OPC_CheckType, 2|128,1,
     OPC_CheckPatternPredicate, 37,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::BF16VDOTI_VDOTD),
                     2|128,1, 4, 0, 1, 2, 4,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4bf16,
     OPC_CheckType, 2|128,1,
     OPC_CheckPatternPredicate, 37,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::BF16VDOTS_VDOTD),
                     2|128,1, 3, 0, 1, 2,
    0,
   79,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8bf16,
    OPC_Scope, 52,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8bf16,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 37,
     OPC_EmitIntegerI32, ARM::dsub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f64, 2, 2, 4,
     OPC_EmitConvertToTarget3,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::BF16VDOTI_VDOTQ),
                     4|128,1, 4, 0, 1, 5, 6,
    17,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8bf16,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 37,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::BF16VDOTS_VDOTQ),
                     4|128,1, 3, 0, 1, 2,
    0,
   0,
  64,
   OPC_CheckChild0Integer, 1|128,31,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 43,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8bf16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 90,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 37,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 5, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 2, 5,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 6, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBF16MALTQI),
                    4|128,1, 4, 0, 1, 6, 8,
   12,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate, 37,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBF16MALTQ),
                    4|128,1, 3, 0, 1, 2,
   0,
  64,
   OPC_CheckChild0Integer, 0|128,31,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 43,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8bf16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 90,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 37,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 5, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 2, 5,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 6, 7,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBF16MALBQI),
                    4|128,1, 4, 0, 1, 6, 8,
   12,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate, 37,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBF16MALBQ),
                    4|128,1, 3, 0, 1, 2,
   0,
  15|128,1,
   OPC_CheckChild0Integer, 41|128,30,
   OPC_Scope, 69,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
    OPC_RecordChild0,
    OPC_SwitchType , 30, 4|128,1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
     OPC_RecordChild0,
     OPC_CheckType, 4|128,1,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXNMAf32),
                     4|128,1, 5, 0, 1, 2, 3, 4,
    27, MVT::v8f16,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
     OPC_RecordChild0,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXNMAf16),
                     MVT::v8f16, 5, 0, 1, 2, 3, 4,
    0,
   67,
    OPC_RecordChild1,
    OPC_SwitchType , 31, 4|128,1,
     OPC_CheckChild1Type, 4|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXNMf32),
                     4|128,1, 6, 0, 1, 2, 3, 4, 5,
    28, MVT::v8f16,
     OPC_CheckChild1Type, MVT::v8f16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXNMf16),
                     MVT::v8f16, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  15|128,1,
   OPC_CheckChild0Integer, 44|128,30,
   OPC_Scope, 69,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
    OPC_RecordChild0,
    OPC_SwitchType , 30, 4|128,1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
     OPC_RecordChild0,
     OPC_CheckType, 4|128,1,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINNMAf32),
                     4|128,1, 5, 0, 1, 2, 3, 4,
    27, MVT::v8f16,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
     OPC_RecordChild0,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINNMAf16),
                     MVT::v8f16, 5, 0, 1, 2, 3, 4,
    0,
   67,
    OPC_RecordChild1,
    OPC_SwitchType , 31, 4|128,1,
     OPC_CheckChild1Type, 4|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINNMf32),
                     4|128,1, 6, 0, 1, 2, 3, 4, 5,
    28, MVT::v8f16,
     OPC_CheckChild1Type, MVT::v8f16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINNMf16),
                     MVT::v8f16, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  121,
   OPC_CheckChild0Integer, 7|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 54, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 24,
     OPC_CheckChild2Integer, 0,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf16s16n),
                     MVT::v8f16, 5, 0, 1, 2, 3, 4,
    24,
     OPC_CheckChild2Integer, 1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf16u16n),
                     MVT::v8f16, 5, 0, 1, 2, 3, 4,
    0,
   56, 4|128,1,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 25,
     OPC_CheckChild2Integer, 0,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf32s32n),
                     4|128,1, 5, 0, 1, 2, 3, 4,
    25,
     OPC_CheckChild2Integer, 1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf32u32n),
                     4|128,1, 5, 0, 1, 2, 3, 4,
    0,
   0,
  47,
   OPC_CheckChild0Integer, 10|128,30,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 19,
    OPC_CheckChild3Integer, 0,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf16f32bh),
                    MVT::v8f16, 5, 0, 1, 2, 3, 4,
   19,
    OPC_CheckChild3Integer, 1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf16f32th),
                    MVT::v8f16, 5, 0, 1, 2, 3, 4,
   0,
  45,
   OPC_CheckChild0Integer, 11|128,30,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18,
    OPC_CheckChild3Integer, 0,
    OPC_RecordChild4,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf16f32bh),
                    MVT::v8f16, 5, 0, 1, 3, 2, 4,
   18,
    OPC_CheckChild3Integer, 1,
    OPC_RecordChild4,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf16f32th),
                    MVT::v8f16, 5, 0, 1, 3, 2, 4,
   0,
  58,
   OPC_CheckChild0Integer, 12|128,30,
   OPC_RecordChild1,
   OPC_Scope, 25,
    OPC_CheckChild2Integer, 0,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf32f16bh),
                    4|128,1, 5, 0, 1, 2, 3, 4,
   25,
    OPC_CheckChild2Integer, 1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf32f16th),
                    4|128,1, 5, 0, 1, 2, 3, 4,
   0,
  47,
   OPC_CheckChild0Integer, 13|128,30,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 19,
    OPC_CheckChild3Integer, 0,
    OPC_RecordChild4,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf32f16bh),
                    4|128,1, 5, 1, 3, 2, 4, 0,
   19,
    OPC_CheckChild3Integer, 1,
    OPC_RecordChild4,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf32f16th),
                    4|128,1, 5, 1, 3, 2, 4, 0,
   0,
  116,
   OPC_CheckChild0Integer, 35|128,31,
   OPC_RecordChild1,
   OPC_Scope, 27,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTxs2fd),
                    2|128,1, 4, 0, 2, 3, 4,
   26,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v4f16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTxs2hd),
                    MVT::v4f16, 4, 0, 2, 3, 4,
   27,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTxs2fq),
                    4|128,1, 4, 0, 2, 3, 4,
   26,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTxs2hq),
                    MVT::v8f16, 4, 0, 2, 3, 4,
   0,
  116,
   OPC_CheckChild0Integer, 36|128,31,
   OPC_RecordChild1,
   OPC_Scope, 27,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTxu2fd),
                    2|128,1, 4, 0, 2, 3, 4,
   26,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v4f16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTxu2hd),
                    MVT::v4f16, 4, 0, 2, 3, 4,
   27,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTxu2fq),
                    4|128,1, 4, 0, 2, 3, 4,
   26,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTxu2hq),
                    MVT::v8f16, 4, 0, 2, 3, 4,
   0,
  77,
   OPC_CheckChild0Integer, 125|128,29,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_SwitchType , 28, MVT::v8f16,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitConvertToTarget0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMLAf16),
                    MVT::v8f16, 7, 1, 2, 3, 4, 5, 6, 7,
   32, 4|128,1,
    OPC_CheckChild2Type, 4|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 4|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitConvertToTarget0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMLAf32),
                    4|128,1, 7, 1, 2, 3, 4, 5, 6, 7,
   0,
  79,
   OPC_CheckChild0Integer, 126|128,29,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_SwitchType , 29, MVT::v8f16,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8f16,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v8i1,
    OPC_CheckPatternPredicate2,
    OPC_EmitConvertToTarget0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMLAf16),
                    MVT::v8f16, 7, 1, 2, 3, 5, 6, 4, 7,
   33, 4|128,1,
    OPC_CheckChild2Type, 4|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 4|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 4|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v4i1,
    OPC_CheckPatternPredicate2,
    OPC_EmitConvertToTarget0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMLAf32),
                    4|128,1, 7, 1, 2, 3, 5, 6, 4, 7,
   0,
  59|128,3,
   OPC_CheckChild0Integer, 58|128,29,
   OPC_Scope, 39,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_CheckType, 4|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 4|128,1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMSf32),
                    4|128,1, 6, 2, 0, 1, 3, 4, 5,
   39,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_CheckType, 4|128,1,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 4|128,1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMSf32),
                    4|128,1, 6, 2, 0, 1, 3, 4, 5,
   34,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_CheckType, MVT::v8f16,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMSf16),
                    MVT::v8f16, 6, 2, 0, 1, 3, 4, 5,
   67,
    OPC_RecordChild1,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 27, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMSf16),
                     MVT::v8f16, 6, 2, 0, 1, 3, 4, 5,
    28, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMA_qr_f16),
                     MVT::v8f16, 6, 2, 0, 1, 3, 4, 5,
    0,
   35,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_CheckType, MVT::v8f16,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMA_qr_f16),
                    MVT::v8f16, 6, 2, 1, 0, 3, 4, 5,
   40,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_CheckType, 4|128,1,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 4|128,1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMA_qr_f32),
                    4|128,1, 6, 2, 0, 1, 3, 4, 5,
   40,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_CheckType, 4|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 4|128,1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMA_qr_f32),
                    4|128,1, 6, 2, 1, 0, 3, 4, 5,
   7|128,1,
    OPC_RecordChild1,
    OPC_Scope, 61,
     OPC_CheckChild1Type, MVT::v8f16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_Scope, 29,
      OPC_MoveChild3,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, MVT::v8f16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8f16,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMA_qr_Sf16),
                      MVT::v8f16, 6, 0, 1, 2, 3, 4, 5,
     23,
      OPC_RecordChild3,
      OPC_CheckChild3Type, MVT::v8f16,
      OPC_CheckType, MVT::v8f16,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMAf16),
                      MVT::v8f16, 6, 2, 0, 1, 3, 4, 5,
     0,
    69,
     OPC_CheckChild1Type, 4|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 4|128,1,
     OPC_Scope, 32,
      OPC_MoveChild3,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_CheckType, 4|128,1,
      OPC_MoveParent,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMA_qr_Sf32),
                      4|128,1, 6, 0, 1, 2, 3, 4, 5,
     26,
      OPC_RecordChild3,
      OPC_CheckChild3Type, 4|128,1,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMAf32),
                      4|128,1, 6, 2, 0, 1, 3, 4, 5,
     0,
    0,
   0,
  125|128,2,
   OPC_CheckChild0Integer, 59|128,29,
   OPC_Scope, 40,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_CheckType, 4|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 4|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMSf32),
                    4|128,1, 6, 2, 0, 1, 4, 3, 5,
   40,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_CheckType, 4|128,1,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 4|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMSf32),
                    4|128,1, 6, 2, 0, 1, 4, 3, 5,
   35,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_CheckType, MVT::v8f16,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMSf16),
                    MVT::v8f16, 6, 2, 0, 1, 4, 3, 5,
   69,
    OPC_RecordChild1,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 28, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMSf16),
                     MVT::v8f16, 6, 2, 0, 1, 4, 3, 5,
    29, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMA_qr_f16),
                     MVT::v8f16, 6, 2, 0, 1, 4, 3, 5,
    0,
   36,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_CheckType, MVT::v8f16,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMA_qr_f16),
                    MVT::v8f16, 6, 2, 1, 0, 4, 3, 5,
   41,
    OPC_RecordChild1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_CheckType, 4|128,1,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 4|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMA_qr_f32),
                    4|128,1, 6, 2, 0, 1, 4, 3, 5,
   41,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_CheckType, 4|128,1,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 4|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMA_qr_f32),
                    4|128,1, 6, 2, 1, 0, 4, 3, 5,
   66,
    OPC_RecordChild1,
    OPC_SwitchType , 31, 4|128,1,
     OPC_CheckChild1Type, 4|128,1,
     OPC_RecordChild2,
     OPC_CheckChild2Type, 4|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3Type, 4|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMAf32),
                     4|128,1, 6, 2, 0, 1, 4, 3, 5,
    27, MVT::v8f16,
     OPC_CheckChild1Type, MVT::v8f16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMAf16),
                     MVT::v8f16, 6, 2, 0, 1, 4, 3, 5,
    0,
   0,
  80,
   OPC_CheckChild0Integer, 127|128,29,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_SwitchType , 30, MVT::v8f16,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitConvertToTarget0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMULf16),
                    MVT::v8f16, 7, 1, 2, 3, 4, 5, 6, 7,
   33, 4|128,1,
    OPC_CheckChild2Type, 4|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitConvertToTarget0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMULf32),
                    4|128,1, 7, 1, 2, 3, 4, 5, 6, 7,
   0,
  79,
   OPC_CheckChild0Integer, 0|128,30,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_SwitchType , 29, MVT::v8f16,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8f16,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v8i1,
    OPC_CheckPatternPredicate2,
    OPC_EmitConvertToTarget0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMULf16),
                    MVT::v8f16, 7, 2, 3, 5, 6, 4, 7, 1,
   33, 4|128,1,
    OPC_CheckChild2Type, 4|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 4|128,1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, 4|128,1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v4i1,
    OPC_CheckPatternPredicate2,
    OPC_EmitConvertToTarget0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMULf32),
                    4|128,1, 7, 2, 3, 5, 6, 4, 7, 1,
   0,
  90,
   OPC_CheckChild0Integer, 26|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 17, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 70,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCADDv4f16),
                    MVT::v4f16, 3, 0, 1, 2,
   17, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 70,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCADDv8f16),
                    MVT::v8f16, 3, 0, 1, 2,
   20, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_CheckPatternPredicate, 71,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCADDv2f32),
                    2|128,1, 3, 0, 1, 2,
   20, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckPatternPredicate, 71,
    OPC_EmitIntegerI32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCADDv4f32),
                    4|128,1, 3, 0, 1, 2,
   0,
  90,
   OPC_CheckChild0Integer, 25|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 17, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 70,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCADDv4f16),
                    MVT::v4f16, 3, 0, 1, 2,
   17, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 70,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCADDv8f16),
                    MVT::v8f16, 3, 0, 1, 2,
   20, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_CheckPatternPredicate, 71,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCADDv2f32),
                    2|128,1, 3, 0, 1, 2,
   20, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckPatternPredicate, 71,
    OPC_EmitIntegerI32, 1,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCADDv4f32),
                    4|128,1, 3, 0, 1, 2,
   0,
  100,
   OPC_CheckChild0Integer, 19|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 22, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABDfd),
                    2|128,1, 4, 0, 1, 2, 3,
   22, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABDfq),
                    4|128,1, 4, 0, 1, 2, 3,
   20, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABDhd),
                    MVT::v4f16, 4, 0, 1, 2, 3,
   20, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABDhq),
                    MVT::v8f16, 4, 0, 1, 2, 3,
   0,
  100,
   OPC_CheckChild0Integer, 103|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 22, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRECPSfd),
                    2|128,1, 4, 0, 1, 2, 3,
   22, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRECPSfq),
                    4|128,1, 4, 0, 1, 2, 3,
   20, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRECPShd),
                    MVT::v4f16, 4, 0, 1, 2, 3,
   20, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRECPShq),
                    MVT::v8f16, 4, 0, 1, 2, 3,
   0,
  100,
   OPC_CheckChild0Integer, 110|128,31,
   OPC_RecordChild1,
   OPC_SwitchType , 22, 2|128,1,
    OPC_CheckChild1Type, 2|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSQRTSfd),
                    2|128,1, 4, 0, 1, 2, 3,
   22, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSQRTSfq),
                    4|128,1, 4, 0, 1, 2, 3,
   20, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSQRTShd),
                    MVT::v4f16, 4, 0, 1, 2, 3,
   20, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSQRTShq),
                    MVT::v8f16, 4, 0, 1, 2, 3,
   0,
  19,
   OPC_CheckChild0Integer, 37|128,31,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 89,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTh2f),
                   4|128,1, 3, 0, 1, 2,
  17,
   OPC_CheckChild0Integer, 2|128,31,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 37,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMMLA),
                   4|128,1, 3, 0, 1, 2,
  61,
   OPC_CheckChild0Integer, 85|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 24, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf16N),
                    MVT::v8f16, 5, 0, 1, 2, 3, 4,
   26, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf32N),
                    4|128,1, 5, 0, 1, 2, 3, 4,
   0,
  60,
   OPC_CheckChild0Integer, 86|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf16N),
                    MVT::v8f16, 5, 0, 3, 1, 4, 2,
   26, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf32N),
                    4|128,1, 5, 0, 3, 1, 4, 2,
   0,
  61,
   OPC_CheckChild0Integer, 89|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 24, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf16X),
                    MVT::v8f16, 5, 0, 1, 2, 3, 4,
   26, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf32X),
                    4|128,1, 5, 0, 1, 2, 3, 4,
   0,
  60,
   OPC_CheckChild0Integer, 90|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf16X),
                    MVT::v8f16, 5, 0, 3, 1, 4, 2,
   26, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf32X),
                    4|128,1, 5, 0, 3, 1, 4, 2,
   0,
  61,
   OPC_CheckChild0Integer, 81|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 24, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf16A),
                    MVT::v8f16, 5, 0, 1, 2, 3, 4,
   26, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf32A),
                    4|128,1, 5, 0, 1, 2, 3, 4,
   0,
  60,
   OPC_CheckChild0Integer, 82|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf16A),
                    MVT::v8f16, 5, 0, 3, 1, 4, 2,
   26, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf32A),
                    4|128,1, 5, 0, 3, 1, 4, 2,
   0,
  61,
   OPC_CheckChild0Integer, 91|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 24, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf16Z),
                    MVT::v8f16, 5, 0, 1, 2, 3, 4,
   26, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf32Z),
                    4|128,1, 5, 0, 1, 2, 3, 4,
   0,
  60,
   OPC_CheckChild0Integer, 92|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf16Z),
                    MVT::v8f16, 5, 0, 3, 1, 4, 2,
   26, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf32Z),
                    4|128,1, 5, 0, 3, 1, 4, 2,
   0,
  61,
   OPC_CheckChild0Integer, 83|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 24, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf16M),
                    MVT::v8f16, 5, 0, 1, 2, 3, 4,
   26, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf32M),
                    4|128,1, 5, 0, 1, 2, 3, 4,
   0,
  60,
   OPC_CheckChild0Integer, 84|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf16M),
                    MVT::v8f16, 5, 0, 3, 1, 4, 2,
   26, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf32M),
                    4|128,1, 5, 0, 3, 1, 4, 2,
   0,
  61,
   OPC_CheckChild0Integer, 87|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 24, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf16P),
                    MVT::v8f16, 5, 0, 1, 2, 3, 4,
   26, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf32P),
                    4|128,1, 5, 0, 1, 2, 3, 4,
   0,
  60,
   OPC_CheckChild0Integer, 88|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf16P),
                    MVT::v8f16, 5, 0, 3, 1, 4, 2,
   26, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf32P),
                    4|128,1, 5, 0, 3, 1, 4, 2,
   0,
  60,
   OPC_CheckChild0Integer, 42|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 26, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXNMAf32),
                    4|128,1, 5, 0, 1, 3, 2, 4,
   23, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXNMAf16),
                    MVT::v8f16, 5, 0, 1, 3, 2, 4,
   0,
  60,
   OPC_CheckChild0Integer, 45|128,30,
   OPC_RecordChild1,
   OPC_SwitchType , 26, 4|128,1,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_CheckChild2Type, 4|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINNMAf32),
                    4|128,1, 5, 0, 1, 3, 2, 4,
   23, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINNMAf16),
                    MVT::v8f16, 5, 0, 1, 3, 2, 4,
   0,
  0,
 82|128,2, TARGET_VAL(ISD::SRL),
  OPC_Scope, 126,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate, 24,
   OPC_CheckPredicate, 15,
   OPC_CheckPredicate3,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckChild1Integer, 16,
   OPC_CheckTypeI32,
   OPC_Scope, 33,
    OPC_CheckPatternPredicate, 9,
    OPC_CheckComplexPat, /*CP*/20, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::LDRH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 5, 2, 3, 4, 5, 6,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::REV16),
                    MVT::i32, 3, 7, 8, 9,
   66,
    OPC_CheckPatternPredicate, 12,
    OPC_Scope, 30,
     OPC_CheckComplexPat, /*CP*/22, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::tLDRHi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 2, 3, 4, 5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::tREV16),
                     MVT::i32, 3, 6, 7, 8,
    30,
     OPC_CheckComplexPat, /*CP*/13, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::tLDRHr), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 2, 3, 4, 5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::tREV16),
                     MVT::i32, 3, 6, 7, 8,
    0,
   0,
  23,
   OPC_RecordNode,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat, /*CP*/31, /*#*/0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MOVsr),
                   MVT::i32, 6, 1, 2, 3, 4, 5, 6,
  59,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckPredicate, 89,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckChild1Integer, 16,
   OPC_CheckTypeI32,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::REV16),
                    MVT::i32, 3, 0, 1, 2,
   14,
    OPC_CheckPatternPredicate, 12,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::tREV16),
                    MVT::i32, 3, 0, 1, 2,
   13,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2REV16),
                    MVT::i32, 3, 0, 1, 2,
   0,
  22,
   OPC_RecordNode,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat, /*CP*/32, /*#*/0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MOVsi),
                   MVT::i32, 5, 1, 2, 3, 4, 5,
  101,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 55,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 22,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitRegisterI32, ARM::CPSR,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 14, 3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::tLSRri),
                     MVT::i32, 5, 2, 0, 4, 5, 6,
    21,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 14, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2LSRri),
                     MVT::i32, 5, 0, 3, 4, 5, 6,
    0,
   40,
    OPC_CheckTypeI32,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitRegisterI32, ARM::CPSR,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::tLSRrr),
                     MVT::i32, 5, 2, 0, 1, 3, 4,
    17,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2LSRrr),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    0,
   0,
  0,
 65|128,43, TARGET_VAL(ISD::STORE),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_Scope, 10|128,3,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 119, TARGET_VAL(ISD::SRL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 16,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPredicate7,
    OPC_CheckPredicate, 21,
    OPC_CheckPredicate3,
    OPC_Scope, 33,
     OPC_CheckPatternPredicate, 9,
     OPC_CheckComplexPat, /*CP*/20, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::REV16),
                     MVT::i32, 3, 1, 6, 7,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::STRH), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 8, 3, 4, 5, 9, 10,
    66,
     OPC_CheckPatternPredicate, 12,
     OPC_Scope, 30,
      OPC_CheckComplexPat, /*CP*/22, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(ARM::tREV16),
                      MVT::i32, 3, 1, 5, 6,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::tSTRHi), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 7, 3, 4, 8, 9,
     30,
      OPC_CheckComplexPat, /*CP*/13, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(ARM::tREV16),
                      MVT::i32, 3, 1, 5, 6,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::tSTRHr), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 7, 3, 4, 8, 9,
     0,
    0,
   47|128,1, TARGET_VAL(ARMISD::VGETLANEu),
    OPC_RecordChild0,
    OPC_Scope, 42,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI32,
     OPC_CheckPredicate, 21,
     OPC_CheckPredicate6,
     OPC_CheckPredicate2,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_CheckComplexPat, /*CP*/28, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VST1LNd8_UPD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 7, 5, 6, 7, 1, 8, 9, 10,
    42,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI32,
     OPC_CheckPredicate, 21,
     OPC_CheckPredicate6,
     OPC_CheckPredicate3,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_CheckComplexPat, /*CP*/28, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VST1LNd16_UPD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 7, 5, 6, 7, 1, 8, 9, 10,
    42,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI32,
     OPC_CheckPredicate, 21,
     OPC_CheckPredicate6,
     OPC_CheckPredicate2,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_CheckComplexPat, /*CP*/28, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VST1LNq8Pseudo_UPD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 7, 5, 6, 7, 1, 8, 9, 10,
    42,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI32,
     OPC_CheckPredicate, 21,
     OPC_CheckPredicate6,
     OPC_CheckPredicate3,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_CheckComplexPat, /*CP*/28, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VST1LNq16Pseudo_UPD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 7, 5, 6, 7, 1, 8, 9, 10,
    0,
   87, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 41,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI32,
     OPC_CheckPredicate4,
     OPC_CheckPredicate6,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/3,
     OPC_CheckComplexPat, /*CP*/28, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VST1LNd32_UPD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 7, 5, 6, 7, 1, 8, 9, 10,
    41,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI32,
     OPC_CheckPredicate4,
     OPC_CheckPredicate6,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_CheckComplexPat, /*CP*/28, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VST1LNq32Pseudo_UPD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 7, 5, 6, 7, 1, 8, 9, 10,
    0,
   0,
  87|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_Scope, 72,
    OPC_CheckChild2TypeI32,
    OPC_CheckPredicate7,
    OPC_Scope, 20,
     OPC_CheckPredicate4,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/21, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::PICSTR), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    46,
     OPC_CheckPredicate, 21,
     OPC_Scope, 20,
      OPC_CheckPredicate3,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat, /*CP*/21, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::PICSTRH), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6,
     20,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat, /*CP*/21, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::PICSTRB), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6,
     0,
    0,
   7|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI32,
    OPC_CheckTypeI32,
    OPC_Scope, 49,
     OPC_CheckPredicate4,
     OPC_CheckPredicate6,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/2,
     OPC_Scope, 20,
      OPC_CheckComplexPat, /*CP*/33, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::STR_POST_REG), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 4, 5, 6, 7, 8,
     20,
      OPC_CheckComplexPat, /*CP*/34, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::STR_POST_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 4, 5, 6, 7, 8,
     0,
    79,
     OPC_CheckPredicate, 21,
     OPC_CheckPredicate6,
     OPC_Scope, 48,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_Scope, 20,
       OPC_CheckComplexPat, /*CP*/33, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::STRB_POST_REG), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 4, 5, 6, 7, 8,
      20,
       OPC_CheckComplexPat, /*CP*/34, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::STRB_POST_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 4, 5, 6, 7, 8,
      0,
     24,
      OPC_CheckPredicate3,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_CheckComplexPat, /*CP*/38, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::STRH_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 4, 5, 6, 7, 8,
     0,
    0,
   0,
  121|128,2,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 19|128,1, TARGET_VAL(ARMISD::VGETLANEu),
    OPC_RecordChild0,
    OPC_Scope, 35,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate, 21,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1LNd8), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 4, 5, 1, 6, 7, 8,
    35,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate, 21,
     OPC_CheckPredicate3,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 4, 5, 1, 6, 7, 8,
    35,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate, 21,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1LNq8Pseudo), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 4, 5, 1, 6, 7, 8,
    35,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate, 21,
     OPC_CheckPredicate3,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1LNq16Pseudo), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 4, 5, 1, 6, 7, 8,
    0,
   91|128,1, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 34,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate4,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat7, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 4, 5, 1, 6, 7, 8,
    34,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate4,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1LNq32Pseudo), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 4, 5, 1, 6, 7, 8,
    36,
     OPC_CheckChild0Type, 2|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate4,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 4, 5, 1, 6, 7, 8,
    36,
     OPC_CheckChild0Type, 4|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate4,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1LNq32Pseudo), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 4, 5, 1, 6, 7, 8,
    35,
     OPC_CheckChild0Type, MVT::v4f16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::f16,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate4,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 4, 5, 1, 6, 7, 8,
    35,
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::f16,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate4,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1LNq16Pseudo), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 4, 5, 1, 6, 7, 8,
    0,
   0,
  25|128,2,
   OPC_RecordChild1,
   OPC_Scope, 109|128,1,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_Scope, 18|128,1,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_Scope, 21,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat, /*CP*/17, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::STRrs), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 1, 3, 4, 5, 6, 7,
     48,
      OPC_CheckPredicate, 21,
      OPC_Scope, 21,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat, /*CP*/17, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::STRBrs), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 1, 3, 4, 5, 6, 7,
      21,
       OPC_CheckPredicate3,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat, /*CP*/20, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::STRH), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 1, 3, 4, 5, 6, 7,
      0,
     21,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat, /*CP*/11, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRs), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 1, 3, 4, 5, 6, 7,
     48,
      OPC_CheckPredicate, 21,
      OPC_Scope, 21,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat, /*CP*/11, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRBs), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 1, 3, 4, 5, 6, 7,
      21,
       OPC_CheckPredicate3,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat, /*CP*/11, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRHs), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 1, 3, 4, 5, 6, 7,
      0,
     0,
    84,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI32,
     OPC_CheckTypeI32,
     OPC_Scope, 24,
      OPC_CheckPredicate4,
      OPC_CheckPredicate6,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_CheckComplexPat, /*CP*/29, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2STR_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 5, 1, 4, 5, 6, 7,
     53,
      OPC_CheckPredicate, 21,
      OPC_CheckPredicate6,
      OPC_Scope, 23,
       OPC_CheckPredicate3,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_CheckComplexPat, /*CP*/29, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::t2STRH_POST), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 5, 1, 4, 5, 6, 7,
      23,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat1, /*#*/2,
       OPC_CheckComplexPat, /*CP*/29, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::t2STRB_POST), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 5, 1, 4, 5, 6, 7,
      0,
     0,
    0,
   38,
    OPC_CheckChild1Type, MVT::bf16,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPredicate7,
    OPC_CheckPredicate4,
    OPC_CheckPredicate, 22,
    OPC_CheckPatternPredicate, 90,
    OPC_CheckComplexPat, /*CP*/20, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, ARM::GPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 1, 6,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::STRH), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 7, 3, 4, 5, 8, 9,
   0,
  59|128,4,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 94, TARGET_VAL(ISD::STRICT_FP_TO_SINT),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_Scope, 43,
     OPC_CheckChild1Type, MVT::f64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate4,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VTOSIZD),
                     MVT::f32, 3, 2, 6, 7,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRS), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 8, 4, 5, 9, 10,
    43,
     OPC_CheckChild1Type, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate4,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate, 18,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VTOSIZS),
                     MVT::f32, 3, 2, 6, 7,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRS), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 8, 4, 5, 9, 10,
    0,
   86, TARGET_VAL(ISD::FP_TO_SINT),
    OPC_RecordChild0,
    OPC_CheckTypeI32,
    OPC_Scope, 40,
     OPC_CheckChild0Type, MVT::f64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate4,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VTOSIZD),
                     MVT::f32, 3, 1, 5, 6,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRS), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 7, 3, 4, 8, 9,
    40,
     OPC_CheckChild0Type, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate4,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate, 18,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VTOSIZS),
                     MVT::f32, 3, 1, 5, 6,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRS), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 7, 3, 4, 8, 9,
    0,
   95, TARGET_VAL(ISD::FP_TO_SINT_SAT),
    OPC_RecordChild0,
    OPC_Scope, 45,
     OPC_CheckChild0Type, MVT::f64,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate4,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VTOSIZD),
                     MVT::f32, 3, 1, 5, 6,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRS), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 7, 3, 4, 8, 9,
    45,
     OPC_CheckChild0Type, MVT::f32,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate4,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate, 34,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VTOSIZS),
                     MVT::f32, 3, 1, 5, 6,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRS), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 7, 3, 4, 8, 9,
    0,
   94, TARGET_VAL(ISD::STRICT_FP_TO_UINT),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_Scope, 43,
     OPC_CheckChild1Type, MVT::f64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate4,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VTOUIZD),
                     MVT::f32, 3, 2, 6, 7,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRS), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 8, 4, 5, 9, 10,
    43,
     OPC_CheckChild1Type, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate4,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate, 18,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VTOUIZS),
                     MVT::f32, 3, 2, 6, 7,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRS), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 8, 4, 5, 9, 10,
    0,
   86, TARGET_VAL(ISD::FP_TO_UINT),
    OPC_RecordChild0,
    OPC_CheckTypeI32,
    OPC_Scope, 40,
     OPC_CheckChild0Type, MVT::f64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate4,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VTOUIZD),
                     MVT::f32, 3, 1, 5, 6,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRS), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 7, 3, 4, 8, 9,
    40,
     OPC_CheckChild0Type, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate4,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate, 18,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VTOUIZS),
                     MVT::f32, 3, 1, 5, 6,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRS), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 7, 3, 4, 8, 9,
    0,
   95, TARGET_VAL(ISD::FP_TO_UINT_SAT),
    OPC_RecordChild0,
    OPC_Scope, 45,
     OPC_CheckChild0Type, MVT::f64,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate4,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VTOUIZD),
                     MVT::f32, 3, 1, 5, 6,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRS), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 7, 3, 4, 8, 9,
    45,
     OPC_CheckChild0Type, MVT::f32,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate4,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate, 34,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VTOUIZS),
                     MVT::f32, 3, 1, 5, 6,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRS), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 7, 3, 4, 8, 9,
    0,
   0,
  3|128,29,
   OPC_RecordChild1,
   OPC_Scope, 63|128,4,
    OPC_CheckChild1TypeI32,
    OPC_RecordChild2,
    OPC_Scope, 82|128,2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_Scope, 20,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat, /*CP*/18, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::STRi12), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6,
     22,
      OPC_CheckPredicate, 21,
      OPC_CheckPredicate2,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat, /*CP*/18, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::STRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6,
     62,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate, 12,
      OPC_Scope, 18,
       OPC_CheckComplexPat, /*CP*/30, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::tSTRspi), 0|OPFL_Chain|OPFL_MemRefs,
                       5, 1, 3, 4, 5, 6,
      18,
       OPC_CheckComplexPat, /*CP*/35, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::tSTRi), 0|OPFL_Chain|OPFL_MemRefs,
                       5, 1, 3, 4, 5, 6,
      18,
       OPC_CheckComplexPat, /*CP*/13, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::tSTRr), 0|OPFL_Chain|OPFL_MemRefs,
                       5, 1, 3, 4, 5, 6,
      0,
     92,
      OPC_CheckPredicate, 21,
      OPC_Scope, 43,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate, 12,
       OPC_Scope, 18,
        OPC_CheckComplexPat, /*CP*/23, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::tSTRBi), 0|OPFL_Chain|OPFL_MemRefs,
                        5, 1, 3, 4, 5, 6,
       18,
        OPC_CheckComplexPat, /*CP*/13, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::tSTRBr), 0|OPFL_Chain|OPFL_MemRefs,
                        5, 1, 3, 4, 5, 6,
       0,
      43,
       OPC_CheckPredicate3,
       OPC_CheckPatternPredicate, 12,
       OPC_Scope, 18,
        OPC_CheckComplexPat, /*CP*/22, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::tSTRHi), 0|OPFL_Chain|OPFL_MemRefs,
                        5, 1, 3, 4, 5, 6,
       18,
        OPC_CheckComplexPat, /*CP*/13, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::tSTRHr), 0|OPFL_Chain|OPFL_MemRefs,
                        5, 1, 3, 4, 5, 6,
       0,
      0,
     42,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate4,
      OPC_Scope, 18,
       OPC_CheckComplexPat, /*CP*/10, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRi12), 0|OPFL_Chain|OPFL_MemRefs,
                       5, 1, 3, 4, 5, 6,
      18,
       OPC_CheckComplexPat, /*CP*/12, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRi8), 0|OPFL_Chain|OPFL_MemRefs,
                       5, 1, 3, 4, 5, 6,
      0,
     90,
      OPC_CheckPredicate, 21,
      OPC_Scope, 42,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate4,
       OPC_Scope, 18,
        OPC_CheckComplexPat, /*CP*/10, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                        5, 1, 3, 4, 5, 6,
       18,
        OPC_CheckComplexPat, /*CP*/12, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRBi8), 0|OPFL_Chain|OPFL_MemRefs,
                        5, 1, 3, 4, 5, 6,
       0,
      42,
       OPC_CheckPredicate3,
       OPC_CheckPatternPredicate4,
       OPC_Scope, 18,
        OPC_CheckComplexPat, /*CP*/10, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRHi12), 0|OPFL_Chain|OPFL_MemRefs,
                        5, 1, 3, 4, 5, 6,
       18,
        OPC_CheckComplexPat, /*CP*/12, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRHi8), 0|OPFL_Chain|OPFL_MemRefs,
                        5, 1, 3, 4, 5, 6,
       0,
      0,
     0,
    78|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI32,
     OPC_CheckTypeI32,
     OPC_Scope, 48,
      OPC_CheckPredicate4,
      OPC_CheckPredicate, 9,
      OPC_CheckPatternPredicate3,
      OPC_Scope, 20,
       OPC_CheckComplexPat, /*CP*/34, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::STRi_preidx), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 2, 4, 5, 6, 7,
      20,
       OPC_CheckComplexPat, /*CP*/33, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::STRr_preidx), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 2, 4, 5, 6, 7,
      0,
     76,
      OPC_CheckPredicate, 21,
      OPC_CheckPredicate, 9,
      OPC_Scope, 46,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate3,
       OPC_Scope, 20,
        OPC_CheckComplexPat, /*CP*/34, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::STRBi_preidx), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 6, 1, 2, 4, 5, 6, 7,
       20,
        OPC_CheckComplexPat, /*CP*/33, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::STRBr_preidx), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 6, 1, 2, 4, 5, 6, 7,
       0,
      22,
       OPC_CheckPredicate3,
       OPC_CheckPatternPredicate3,
       OPC_CheckComplexPat, /*CP*/38, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::STRH_preidx), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 2, 4, 5, 6, 7,
      0,
     23,
      OPC_CheckPredicate4,
      OPC_CheckPredicate, 9,
      OPC_CheckPatternPredicate4,
      OPC_CheckComplexPat, /*CP*/29, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2STR_preidx), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 5, 1, 2, 4, 5, 6,
     50,
      OPC_CheckPredicate, 21,
      OPC_CheckPredicate, 9,
      OPC_Scope, 21,
       OPC_CheckPredicate2,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat, /*CP*/29, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::t2STRB_preidx), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 5, 1, 2, 4, 5, 6,
      21,
       OPC_CheckPredicate3,
       OPC_CheckPatternPredicate4,
       OPC_CheckComplexPat, /*CP*/29, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::t2STRH_preidx), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 5, 1, 2, 4, 5, 6,
      0,
     0,
    22,
     OPC_CheckChild3Integer, 4,
     OPC_CheckPredicate4,
     OPC_CheckPredicate6,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tSTMIA_UPD), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 2, 3, 4, 1,
    0,
   94,
    OPC_CheckChild1Type, MVT::f64,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPredicate7,
    OPC_CheckPredicate4,
    OPC_Scope, 21,
     OPC_CheckPredicate, 8,
     OPC_CheckPatternPredicate, 46,
     OPC_CheckComplexPat2, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRD), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    20,
     OPC_CheckPredicate, 38,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1d16), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 3, 4, 1, 5, 6,
    20,
     OPC_CheckPredicate, 41,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1d8), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 3, 4, 1, 5, 6,
    21,
     OPC_CheckPredicate, 102,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1d64), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 3, 4, 1, 5, 6,
    0,
   27,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPredicate7,
    OPC_CheckPredicate4,
    OPC_CheckPredicate, 8,
    OPC_CheckPatternPredicate, 46,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRS), 0|OPFL_Chain|OPFL_MemRefs,
                    5, 1, 3, 4, 5, 6,
   28,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPredicate7,
    OPC_CheckPredicate4,
    OPC_CheckPredicate, 22,
    OPC_CheckPatternPredicate, 54,
    OPC_CheckComplexPat, /*CP*/36, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRH), 0|OPFL_Chain|OPFL_MemRefs,
                    5, 1, 3, 4, 5, 6,
   61,
    OPC_CheckChild1Type, MVT::bf16,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPredicate7,
    OPC_CheckPredicate4,
    OPC_CheckPredicate, 22,
    OPC_Scope, 20,
     OPC_CheckPatternPredicate, 54,
     OPC_CheckComplexPat, /*CP*/36, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRH), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6,
    29,
     OPC_CheckPatternPredicate, 91,
     OPC_CheckComplexPat, /*CP*/10, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 1, 5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRHi12), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 6, 3, 4, 7, 8,
    0,
   91|128,3,
    OPC_CheckChild1Type, 22|128,1,
    OPC_RecordChild2,
    OPC_Scope, 20|128,2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate4,
     OPC_Scope, 20,
      OPC_CheckPredicate, 103,
      OPC_CheckPatternPredicate1,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1q64), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 3, 4, 1, 5, 6,
     20,
      OPC_CheckPredicate, 91,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1q32), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 3, 4, 1, 5, 6,
     20,
      OPC_CheckPredicate, 38,
      OPC_CheckPatternPredicate6,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1q16), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 3, 4, 1, 5, 6,
     45,
      OPC_CheckPredicate, 41,
      OPC_Scope, 18,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1q8), 0|OPFL_Chain|OPFL_MemRefs,
                       5, 3, 4, 1, 5, 6,
      21,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 1, 3, 4, 5, 6, 7,
      0,
     24,
      OPC_CheckPredicate, 38,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/14, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 1, 3, 4, 5, 6, 7,
     24,
      OPC_CheckPredicate, 8,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/15, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 1, 3, 4, 5, 6, 7,
     33,
      OPC_CheckPredicate, 41,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(ARM::VREV64q8),
                      MVT::v16i8, 3, 1, 5, 6,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1q8), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 3, 4, 7, 8, 9,
     33,
      OPC_CheckPredicate, 38,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat0, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(ARM::VREV64q16),
                      MVT::v16i8, 3, 1, 5, 6,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1q16), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 3, 4, 7, 8, 9,
     43,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VREV64_8),
                      MVT::v16i8, 5, 1, 5, 6, 7, 8,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 9, 3, 4, 10, 11, 12,
     0,
    39|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI32,
     OPC_CheckPredicate4,
     OPC_CheckTypeI32,
     OPC_Scope, 25,
      OPC_CheckPredicate, 9,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/8, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     24,
      OPC_CheckPredicate6,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/8, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_post), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     27,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 22,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/9, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     26,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 22,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/9, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_post), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     27,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 8,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/16, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     26,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 8,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/16, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_post), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     0,
    21,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate4,
     OPC_CheckPredicate, 91,
     OPC_CheckPatternPredicate, 34,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTMQIA), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 1, 2, 3, 4,
    0,
   74|128,2,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_Scope, 102,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate4,
     OPC_Scope, 23,
      OPC_CheckPredicate, 41,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 1, 3, 4, 5, 6, 7,
     24,
      OPC_CheckPredicate, 38,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/14, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 1, 3, 4, 5, 6, 7,
     24,
      OPC_CheckPredicate, 8,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/15, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 1, 3, 4, 5, 6, 7,
     22,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 1, 3, 4, 5, 6, 7,
     0,
    92|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI32,
     OPC_CheckPredicate4,
     OPC_CheckTypeI32,
     OPC_Scope, 25,
      OPC_CheckPredicate, 9,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/8, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     24,
      OPC_CheckPredicate6,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/8, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_post), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     27,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 22,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/9, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     26,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 22,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/9, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_post), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     27,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 8,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/16, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     26,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 8,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/16, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_post), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     26,
      OPC_CheckPredicate, 9,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat, /*CP*/8, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     25,
      OPC_CheckPredicate6,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat, /*CP*/8, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_post), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     0,
    0,
   93|128,3,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_Scope, 52|128,1,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_Scope, 103,
      OPC_CheckPredicate4,
      OPC_Scope, 23,
       OPC_CheckPredicate, 41,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 1, 3, 4, 5, 6, 7,
      24,
       OPC_CheckPredicate, 38,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat, /*CP*/14, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 1, 3, 4, 5, 6, 7,
      24,
       OPC_CheckPredicate, 8,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat, /*CP*/15, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 1, 3, 4, 5, 6, 7,
      25,
       OPC_CheckPredicate, 22,
       OPC_CheckPatternPredicate, 14,
       OPC_CheckComplexPat, /*CP*/14, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 1, 3, 4, 5, 6, 7,
      0,
     26,
      OPC_CheckPredicate, 21,
      OPC_CheckPredicate, 50,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/19, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRB16), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 1, 3, 4, 5, 6, 7,
     44,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VREV16_8),
                      MVT::v16i8, 5, 1, 5, 6, 7, 8,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 9, 3, 4, 10, 11, 12,
     0,
    32|128,2,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI32,
     OPC_CheckTypeI32,
     OPC_Scope, 93|128,1,
      OPC_CheckPredicate4,
      OPC_Scope, 25,
       OPC_CheckPredicate, 9,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat, /*CP*/8, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_pre), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 2, 4, 5, 6, 7,
      24,
       OPC_CheckPredicate6,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat, /*CP*/8, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_post), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 2, 4, 5, 6, 7,
      27,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate, 22,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat, /*CP*/9, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_pre), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 2, 4, 5, 6, 7,
      26,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 22,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat, /*CP*/9, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_post), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 2, 4, 5, 6, 7,
      27,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate, 8,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat, /*CP*/16, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_pre), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 2, 4, 5, 6, 7,
      26,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 8,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat, /*CP*/16, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_post), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 2, 4, 5, 6, 7,
      28,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate, 22,
       OPC_CheckPatternPredicate, 14,
       OPC_CheckComplexPat, /*CP*/9, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_pre), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 2, 4, 5, 6, 7,
      27,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 22,
       OPC_CheckPatternPredicate, 14,
       OPC_CheckComplexPat, /*CP*/9, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_post), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 2, 4, 5, 6, 7,
      0,
     59,
      OPC_CheckPredicate, 21,
      OPC_Scope, 26,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 50,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat, /*CP*/8, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRB16_post), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 2, 4, 5, 6, 7,
      27,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate, 50,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat, /*CP*/8, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRB16_pre), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 2, 4, 5, 6, 7,
      0,
     0,
    0,
   126|128,2,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_Scope, 21|128,1,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate4,
     OPC_Scope, 23,
      OPC_CheckPredicate, 41,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 1, 3, 4, 5, 6, 7,
     24,
      OPC_CheckPredicate, 38,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/14, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 1, 3, 4, 5, 6, 7,
     24,
      OPC_CheckPredicate, 8,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/15, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 1, 3, 4, 5, 6, 7,
     25,
      OPC_CheckPredicate, 22,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat, /*CP*/14, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 1, 3, 4, 5, 6, 7,
     43,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VREV16_8),
                      MVT::v16i8, 5, 1, 5, 6, 7, 8,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 9, 3, 4, 10, 11, 12,
     0,
    96|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI32,
     OPC_CheckPredicate4,
     OPC_CheckTypeI32,
     OPC_Scope, 25,
      OPC_CheckPredicate, 9,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/8, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     24,
      OPC_CheckPredicate6,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/8, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_post), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     27,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 22,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/9, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     26,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 22,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/9, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_post), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     27,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 8,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/16, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     26,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 8,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/16, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_post), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     28,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 22,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat, /*CP*/9, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     27,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 22,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat, /*CP*/9, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_post), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     0,
    0,
   49|128,4,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_Scope, 81|128,1,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_Scope, 104,
      OPC_CheckPredicate4,
      OPC_Scope, 23,
       OPC_CheckPredicate, 41,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat5, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 1, 3, 4, 5, 6, 7,
      24,
       OPC_CheckPredicate, 38,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat, /*CP*/14, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 1, 3, 4, 5, 6, 7,
      51,
       OPC_CheckPredicate, 8,
       OPC_Scope, 22,
        OPC_CheckPatternPredicate7,
        OPC_CheckComplexPat, /*CP*/15, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                        6, 1, 3, 4, 5, 6, 7,
       23,
        OPC_CheckPatternPredicate, 14,
        OPC_CheckComplexPat, /*CP*/15, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                        6, 1, 3, 4, 5, 6, 7,
       0,
      0,
     54,
      OPC_CheckPredicate, 21,
      OPC_Scope, 24,
       OPC_CheckPredicate, 50,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat, /*CP*/19, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRB32), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 1, 3, 4, 5, 6, 7,
      24,
       OPC_CheckPredicate, 76,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat, /*CP*/27, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH32), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 1, 3, 4, 5, 6, 7,
      0,
     44,
      OPC_CheckPredicate4,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VREV32_8),
                      MVT::v16i8, 5, 1, 5, 6, 7, 8,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 9, 3, 4, 10, 11, 12,
     0,
    87|128,2,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI32,
     OPC_CheckTypeI32,
     OPC_Scope, 93|128,1,
      OPC_CheckPredicate4,
      OPC_Scope, 25,
       OPC_CheckPredicate, 9,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat, /*CP*/8, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_pre), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 2, 4, 5, 6, 7,
      24,
       OPC_CheckPredicate6,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat, /*CP*/8, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_post), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 2, 4, 5, 6, 7,
      27,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate, 22,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat, /*CP*/9, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_pre), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 2, 4, 5, 6, 7,
      26,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 22,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat, /*CP*/9, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_post), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 2, 4, 5, 6, 7,
      27,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate, 8,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat, /*CP*/16, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_pre), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 2, 4, 5, 6, 7,
      26,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 8,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat, /*CP*/16, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_post), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 2, 4, 5, 6, 7,
      28,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate, 8,
       OPC_CheckPatternPredicate, 14,
       OPC_CheckComplexPat, /*CP*/16, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_pre), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 2, 4, 5, 6, 7,
      27,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 8,
       OPC_CheckPatternPredicate, 14,
       OPC_CheckComplexPat, /*CP*/16, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_post), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 2, 4, 5, 6, 7,
      0,
     114,
      OPC_CheckPredicate, 21,
      OPC_Scope, 26,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 50,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat, /*CP*/8, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRB32_post), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 2, 4, 5, 6, 7,
      27,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate, 50,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat, /*CP*/8, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRB32_pre), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 2, 4, 5, 6, 7,
      26,
       OPC_CheckPredicate6,
       OPC_CheckPredicate, 76,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat, /*CP*/9, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRH32_post), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 2, 4, 5, 6, 7,
      27,
       OPC_CheckPredicate, 9,
       OPC_CheckPredicate, 76,
       OPC_CheckPatternPredicate0,
       OPC_CheckComplexPat, /*CP*/9, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRH32_pre), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::i32, 6, 1, 2, 4, 5, 6, 7,
      0,
     0,
    0,
   0|128,3,
    OPC_CheckChild1Type, 4|128,1,
    OPC_RecordChild2,
    OPC_Scope, 22|128,1,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate4,
     OPC_Scope, 23,
      OPC_CheckPredicate, 41,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 1, 3, 4, 5, 6, 7,
     24,
      OPC_CheckPredicate, 38,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/14, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 1, 3, 4, 5, 6, 7,
     51,
      OPC_CheckPredicate, 8,
      OPC_Scope, 22,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat, /*CP*/15, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 1, 3, 4, 5, 6, 7,
      23,
       OPC_CheckPatternPredicate, 14,
       OPC_CheckComplexPat, /*CP*/15, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 1, 3, 4, 5, 6, 7,
      0,
     43,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VREV32_8),
                      MVT::v16i8, 5, 1, 5, 6, 7, 8,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 9, 3, 4, 10, 11, 12,
     0,
    96|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI32,
     OPC_CheckPredicate4,
     OPC_CheckTypeI32,
     OPC_Scope, 25,
      OPC_CheckPredicate, 9,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/8, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     24,
      OPC_CheckPredicate6,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/8, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_post), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     27,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 22,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/9, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     26,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 22,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/9, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_post), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     27,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 8,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/16, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     26,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 8,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/16, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_post), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     28,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 8,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat, /*CP*/16, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     27,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 8,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat, /*CP*/16, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_post), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     0,
    0,
   42|128,2,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_Scope, 123,
     OPC_CheckChild2TypeI32,
     OPC_CheckPredicate7,
     OPC_CheckPredicate4,
     OPC_Scope, 23,
      OPC_CheckPredicate, 41,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 1, 3, 4, 5, 6, 7,
     24,
      OPC_CheckPredicate, 38,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/14, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 1, 3, 4, 5, 6, 7,
     24,
      OPC_CheckPredicate, 8,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/15, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 1, 3, 4, 5, 6, 7,
     43,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat5, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VREV64_8),
                      MVT::v16i8, 5, 1, 5, 6, 7, 8,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 9, 3, 4, 10, 11, 12,
     0,
    39|128,1,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI32,
     OPC_CheckPredicate4,
     OPC_CheckTypeI32,
     OPC_Scope, 25,
      OPC_CheckPredicate, 9,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/8, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     24,
      OPC_CheckPredicate6,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/8, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_post), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     27,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 22,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/9, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     26,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 22,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/9, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_post), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     27,
      OPC_CheckPredicate, 9,
      OPC_CheckPredicate, 8,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/16, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     26,
      OPC_CheckPredicate6,
      OPC_CheckPredicate, 8,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/16, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_post), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7,
     0,
    0,
   0,
  0,
 77|128,27, TARGET_VAL(ISD::INTRINSIC_VOID),
  OPC_Scope, 91|128,5,
   OPC_RecordNode,
   OPC_Scope, 76,
    OPC_CheckChild1Integer, 1|128,29,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_Scope, 19,
     OPC_CheckPatternPredicate, 55,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::CDP),
                     8, 1, 2, 3, 4, 5, 6, 7, 8,
    19,
     OPC_CheckPatternPredicate, 56,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2CDP),
                     8, 1, 2, 3, 4, 5, 6, 7, 8,
    0,
   70,
    OPC_CheckChild1Integer, 2|128,29,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 55,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::CDP2),
                     6, 1, 2, 3, 4, 5, 6,
    19,
     OPC_CheckPatternPredicate, 56,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2CDP2),
                     8, 1, 2, 3, 4, 5, 6, 7, 8,
    0,
   56,
    OPC_CheckChild1Integer, 25|128,29,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4TypeI32,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::LDC_OFFSET),
                     6, 1, 2, 4, 5, 6, 7,
    18,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2LDC_OFFSET),
                     6, 1, 2, 4, 5, 6, 7,
    0,
   56,
    OPC_CheckChild1Integer, 28|128,29,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4TypeI32,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::LDCL_OFFSET),
                     6, 1, 2, 4, 5, 6, 7,
    18,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2LDCL_OFFSET),
                     6, 1, 2, 4, 5, 6, 7,
    0,
   52,
    OPC_CheckChild1Integer, 26|128,29,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4TypeI32,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 55,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::LDC2_OFFSET),
                     4, 1, 2, 4, 5,
    19,
     OPC_CheckPatternPredicate, 56,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2LDC2_OFFSET),
                     6, 1, 2, 4, 5, 6, 7,
    0,
   52,
    OPC_CheckChild1Integer, 27|128,29,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4TypeI32,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 55,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::LDC2L_OFFSET),
                     4, 1, 2, 4, 5,
    19,
     OPC_CheckPatternPredicate, 56,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2LDC2L_OFFSET),
                     6, 1, 2, 4, 5, 6, 7,
    0,
   56,
    OPC_CheckChild1Integer, 54|128,32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4TypeI32,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::STC_OFFSET),
                     6, 1, 2, 4, 5, 6, 7,
    18,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2STC_OFFSET),
                     6, 1, 2, 4, 5, 6, 7,
    0,
   56,
    OPC_CheckChild1Integer, 57|128,32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4TypeI32,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::STCL_OFFSET),
                     6, 1, 2, 4, 5, 6, 7,
    18,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2STCL_OFFSET),
                     6, 1, 2, 4, 5, 6, 7,
    0,
   52,
    OPC_CheckChild1Integer, 55|128,32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4TypeI32,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 55,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::STC2_OFFSET),
                     4, 1, 2, 4, 5,
    19,
     OPC_CheckPatternPredicate, 56,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2STC2_OFFSET),
                     6, 1, 2, 4, 5, 6, 7,
    0,
   52,
    OPC_CheckChild1Integer, 56|128,32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4TypeI32,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 55,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::STC2L_OFFSET),
                     4, 1, 2, 4, 5,
    19,
     OPC_CheckPatternPredicate, 56,
     OPC_CheckComplexPat2, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2STC2L_OFFSET),
                     6, 1, 2, 4, 5, 6, 7,
    0,
   71,
    OPC_CheckChild1Integer, 31|128,29,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::MCR),
                     8, 1, 2, 3, 4, 5, 6, 7, 8,
    18,
     OPC_CheckPatternPredicate4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2MCR),
                     8, 1, 2, 3, 4, 5, 6, 7, 8,
    0,
   67,
    OPC_CheckChild1Integer, 32|128,29,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveSibling7,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate, 55,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::MCR2),
                     6, 1, 2, 3, 4, 5, 6,
    19,
     OPC_CheckPatternPredicate, 56,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2MCR2),
                     8, 1, 2, 3, 4, 5, 6, 7, 8,
    0,
   0,
  115|128,6,
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_Scope, 46|128,3,
    OPC_CheckChild1Integer, 120|128,30,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_RecordChild3,
    OPC_Scope, 30,
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_MoveChild5,
     OPC_CheckInteger, 8,
     OPC_MoveSibling6,
     OPC_CheckInteger, 0,
     OPC_MoveParent,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRB8_rq), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 3, 1, 2, 4, 5, 6,
    11|128,1,
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_RecordChild4,
     OPC_Scope, 80,
      OPC_CheckChild4Type, MVT::v8i16,
      OPC_MoveChild5,
      OPC_Scope, 24,
       OPC_CheckInteger, 8,
       OPC_MoveSibling6,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRB16_rq), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 3, 1, 2, 4, 5, 6,
      49,
       OPC_CheckInteger, 16,
       OPC_MoveSibling6,
       OPC_Scope, 21,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH16_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                        6, 3, 1, 2, 4, 5, 6,
       21,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH16_rq), 0|OPFL_Chain|OPFL_MemRefs,
                        6, 3, 1, 2, 4, 5, 6,
       0,
      0,
     52,
      OPC_CheckChild4Type, MVT::v8f16,
      OPC_MoveChild5,
      OPC_CheckInteger, 16,
      OPC_MoveSibling6,
      OPC_Scope, 21,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH16_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 3, 1, 2, 4, 5, 6,
      21,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH16_rq), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 3, 1, 2, 4, 5, 6,
      0,
     0,
    63|128,1,
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_RecordChild4,
     OPC_Scope, 2|128,1,
      OPC_CheckChild4Type, MVT::v4i32,
      OPC_MoveChild5,
      OPC_Scope, 24,
       OPC_CheckInteger, 8,
       OPC_MoveSibling6,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRB32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 3, 1, 2, 4, 5, 6,
      49,
       OPC_CheckInteger, 16,
       OPC_MoveSibling6,
       OPC_Scope, 21,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH32_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                        6, 3, 1, 2, 4, 5, 6,
       21,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                        6, 3, 1, 2, 4, 5, 6,
       0,
      49,
       OPC_CheckInteger, 32,
       OPC_MoveSibling6,
       OPC_Scope, 21,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRW32_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                        6, 3, 1, 2, 4, 5, 6,
       21,
        OPC_CheckInteger, 2,
        OPC_MoveParent,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRW32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                        6, 3, 1, 2, 4, 5, 6,
       0,
      0,
     53,
      OPC_CheckChild4Type, 4|128,1,
      OPC_MoveChild5,
      OPC_CheckInteger, 32,
      OPC_MoveSibling6,
      OPC_Scope, 21,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRW32_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 3, 1, 2, 4, 5, 6,
      21,
       OPC_CheckInteger, 2,
       OPC_MoveParent,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRW32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 3, 1, 2, 4, 5, 6,
      0,
     0,
    56,
     OPC_CheckChild3Type, MVT::v2i64,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v2i64,
     OPC_MoveChild5,
     OPC_CheckInteger, 64|128,0,
     OPC_MoveSibling6,
     OPC_Scope, 21,
      OPC_CheckInteger, 0,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRD64_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 3, 1, 2, 4, 5, 6,
     21,
      OPC_CheckInteger, 3,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRD64_rq), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 3, 1, 2, 4, 5, 6,
     0,
    0,
   61|128,3,
    OPC_CheckChild1Integer, 121|128,30,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_RecordChild3,
    OPC_Scope, 31,
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_MoveChild5,
     OPC_CheckInteger, 8,
     OPC_MoveSibling6,
     OPC_CheckInteger, 0,
     OPC_MoveParent,
     OPC_RecordChild7,
     OPC_CheckChild7Type, MVT::v16i1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRB8_rq), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 3, 1, 2, 5, 4, 6,
    16|128,1,
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_RecordChild4,
     OPC_Scope, 83,
      OPC_CheckChild4Type, MVT::v8i16,
      OPC_MoveChild5,
      OPC_Scope, 25,
       OPC_CheckInteger, 8,
       OPC_MoveSibling6,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRB16_rq), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 3, 1, 2, 5, 4, 6,
      51,
       OPC_CheckInteger, 16,
       OPC_MoveSibling6,
       OPC_Scope, 22,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v8i1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH16_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                        6, 3, 1, 2, 5, 4, 6,
       22,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v8i1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH16_rq), 0|OPFL_Chain|OPFL_MemRefs,
                        6, 3, 1, 2, 5, 4, 6,
       0,
      0,
     54,
      OPC_CheckChild4Type, MVT::v8f16,
      OPC_MoveChild5,
      OPC_CheckInteger, 16,
      OPC_MoveSibling6,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH16_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 3, 1, 2, 5, 4, 6,
      22,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH16_rq), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 3, 1, 2, 5, 4, 6,
      0,
     0,
    70|128,1,
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_RecordChild4,
     OPC_Scope, 7|128,1,
      OPC_CheckChild4Type, MVT::v4i32,
      OPC_MoveChild5,
      OPC_Scope, 25,
       OPC_CheckInteger, 8,
       OPC_MoveSibling6,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRB32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 3, 1, 2, 5, 4, 6,
      51,
       OPC_CheckInteger, 16,
       OPC_MoveSibling6,
       OPC_Scope, 22,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH32_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                        6, 3, 1, 2, 5, 4, 6,
       22,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                        6, 3, 1, 2, 5, 4, 6,
       0,
      51,
       OPC_CheckInteger, 32,
       OPC_MoveSibling6,
       OPC_Scope, 22,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRW32_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                        6, 3, 1, 2, 5, 4, 6,
       22,
        OPC_CheckInteger, 2,
        OPC_MoveParent,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRW32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                        6, 3, 1, 2, 5, 4, 6,
       0,
      0,
     55,
      OPC_CheckChild4Type, 4|128,1,
      OPC_MoveChild5,
      OPC_CheckInteger, 32,
      OPC_MoveSibling6,
      OPC_Scope, 22,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRW32_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 3, 1, 2, 5, 4, 6,
      22,
       OPC_CheckInteger, 2,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRW32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                       6, 3, 1, 2, 5, 4, 6,
      0,
     0,
    58,
     OPC_CheckChild3Type, MVT::v2i64,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v2i64,
     OPC_MoveChild5,
     OPC_CheckInteger, 64|128,0,
     OPC_MoveSibling6,
     OPC_Scope, 22,
      OPC_CheckInteger, 0,
      OPC_MoveParent,
      OPC_RecordChild7,
      OPC_CheckChild7Type, MVT::v2i1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRD64_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 3, 1, 2, 5, 4, 6,
     22,
      OPC_CheckInteger, 3,
      OPC_MoveParent,
      OPC_RecordChild7,
      OPC_CheckChild7Type, MVT::v2i1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRD64_rq), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 3, 1, 2, 5, 4, 6,
     0,
    0,
   0,
  7|128,1,
   OPC_RecordNode,
   OPC_Scope, 60,
    OPC_CheckChild1Integer, 33|128,29,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::MCRR),
                     7, 1, 2, 3, 4, 5, 6, 7,
    17,
     OPC_CheckPatternPredicate4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2MCRR),
                     7, 1, 2, 3, 4, 5, 6, 7,
    0,
   56,
    OPC_CheckChild1Integer, 34|128,29,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate, 55,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::MCRR2),
                     5, 1, 2, 3, 4, 5,
    18,
     OPC_CheckPatternPredicate, 56,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2MCRR2),
                     7, 1, 2, 3, 4, 5, 6, 7,
    0,
   13,
    OPC_CheckChild1Integer, 73|128,32,
    OPC_CheckChild2Integer, 121|128,1,
    OPC_CheckPatternPredicate, 92,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t__brkdiv0),
                    0,
   0,
  33|128,9,
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_Scope, 89|128,2,
    OPC_CheckChild1Integer, 114|128,30,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_RecordChild3,
    OPC_Scope, 66,
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_MoveChild5,
     OPC_Scope, 28,
      OPC_CheckInteger, 0,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 119|128,0,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v4i64, 5, 4, 2, 5, 3, 6,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST20_8), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 7, 1,
     28,
      OPC_CheckInteger, 1,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 119|128,0,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v4i64, 5, 4, 2, 5, 3, 6,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST21_8), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 7, 1,
     0,
    66,
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_MoveChild5,
     OPC_Scope, 28,
      OPC_CheckInteger, 0,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 119|128,0,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v4i64, 5, 4, 2, 5, 3, 6,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST20_16), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 7, 1,
     28,
      OPC_CheckInteger, 1,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 119|128,0,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v4i64, 5, 4, 2, 5, 3, 6,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST21_16), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 7, 1,
     0,
    66,
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_MoveChild5,
     OPC_Scope, 28,
      OPC_CheckInteger, 0,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 119|128,0,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v4i64, 5, 4, 2, 5, 3, 6,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST20_32), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 7, 1,
     28,
      OPC_CheckInteger, 1,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 119|128,0,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v4i64, 5, 4, 2, 5, 3, 6,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST21_32), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 7, 1,
     0,
    66,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_MoveChild5,
     OPC_Scope, 28,
      OPC_CheckInteger, 0,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 119|128,0,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v4i64, 5, 4, 2, 5, 3, 6,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST20_16), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 7, 1,
     28,
      OPC_CheckInteger, 1,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 119|128,0,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v4i64, 5, 4, 2, 5, 3, 6,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST21_16), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 7, 1,
     0,
    68,
     OPC_CheckChild3Type, 4|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 4|128,1,
     OPC_MoveChild5,
     OPC_Scope, 28,
      OPC_CheckInteger, 0,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 119|128,0,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v4i64, 5, 4, 2, 5, 3, 6,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST20_32), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 7, 1,
     28,
      OPC_CheckInteger, 1,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 119|128,0,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v4i64, 5, 4, 2, 5, 3, 6,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST21_32), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 7, 1,
     0,
    0,
   64|128,6,
    OPC_CheckChild1Integer, 115|128,30,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_RecordChild3,
    OPC_Scope, 34|128,1,
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_RecordChild6,
     OPC_CheckChild6Type, MVT::v16i8,
     OPC_MoveChild7,
     OPC_Scope, 36,
      OPC_CheckInteger, 0,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 4|128,1,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitIntegerI32, ARM::qsub_2,
      OPC_EmitIntegerI32, ARM::qsub_3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST40_8), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 11, 1,
     36,
      OPC_CheckInteger, 1,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 4|128,1,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitIntegerI32, ARM::qsub_2,
      OPC_EmitIntegerI32, ARM::qsub_3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST41_8), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 11, 1,
     36,
      OPC_CheckInteger, 2,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 4|128,1,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitIntegerI32, ARM::qsub_2,
      OPC_EmitIntegerI32, ARM::qsub_3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST42_8), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 11, 1,
     36,
      OPC_CheckInteger, 3,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 4|128,1,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitIntegerI32, ARM::qsub_2,
      OPC_EmitIntegerI32, ARM::qsub_3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST43_8), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 11, 1,
     0,
    34|128,1,
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_RecordChild6,
     OPC_CheckChild6Type, MVT::v8i16,
     OPC_MoveChild7,
     OPC_Scope, 36,
      OPC_CheckInteger, 0,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 4|128,1,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitIntegerI32, ARM::qsub_2,
      OPC_EmitIntegerI32, ARM::qsub_3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST40_16), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 11, 1,
     36,
      OPC_CheckInteger, 1,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 4|128,1,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitIntegerI32, ARM::qsub_2,
      OPC_EmitIntegerI32, ARM::qsub_3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST41_16), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 11, 1,
     36,
      OPC_CheckInteger, 2,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 4|128,1,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitIntegerI32, ARM::qsub_2,
      OPC_EmitIntegerI32, ARM::qsub_3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST42_16), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 11, 1,
     36,
      OPC_CheckInteger, 3,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 4|128,1,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitIntegerI32, ARM::qsub_2,
      OPC_EmitIntegerI32, ARM::qsub_3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST43_16), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 11, 1,
     0,
    34|128,1,
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_RecordChild6,
     OPC_CheckChild6Type, MVT::v4i32,
     OPC_MoveChild7,
     OPC_Scope, 36,
      OPC_CheckInteger, 0,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 4|128,1,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitIntegerI32, ARM::qsub_2,
      OPC_EmitIntegerI32, ARM::qsub_3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST40_32), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 11, 1,
     36,
      OPC_CheckInteger, 1,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 4|128,1,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitIntegerI32, ARM::qsub_2,
      OPC_EmitIntegerI32, ARM::qsub_3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST41_32), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 11, 1,
     36,
      OPC_CheckInteger, 2,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 4|128,1,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitIntegerI32, ARM::qsub_2,
      OPC_EmitIntegerI32, ARM::qsub_3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST42_32), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 11, 1,
     36,
      OPC_CheckInteger, 3,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 4|128,1,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitIntegerI32, ARM::qsub_2,
      OPC_EmitIntegerI32, ARM::qsub_3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST43_32), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 11, 1,
     0,
    34|128,1,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8f16,
     OPC_RecordChild6,
     OPC_CheckChild6Type, MVT::v8f16,
     OPC_MoveChild7,
     OPC_Scope, 36,
      OPC_CheckInteger, 0,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 4|128,1,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitIntegerI32, ARM::qsub_2,
      OPC_EmitIntegerI32, ARM::qsub_3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST40_16), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 11, 1,
     36,
      OPC_CheckInteger, 1,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 4|128,1,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitIntegerI32, ARM::qsub_2,
      OPC_EmitIntegerI32, ARM::qsub_3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST41_16), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 11, 1,
     36,
      OPC_CheckInteger, 2,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 4|128,1,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitIntegerI32, ARM::qsub_2,
      OPC_EmitIntegerI32, ARM::qsub_3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST42_16), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 11, 1,
     36,
      OPC_CheckInteger, 3,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 4|128,1,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitIntegerI32, ARM::qsub_2,
      OPC_EmitIntegerI32, ARM::qsub_3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST43_16), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 11, 1,
     0,
    38|128,1,
     OPC_CheckChild3Type, 4|128,1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, 4|128,1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, 4|128,1,
     OPC_RecordChild6,
     OPC_CheckChild6Type, 4|128,1,
     OPC_MoveChild7,
     OPC_Scope, 36,
      OPC_CheckInteger, 0,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 4|128,1,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitIntegerI32, ARM::qsub_2,
      OPC_EmitIntegerI32, ARM::qsub_3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST40_32), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 11, 1,
     36,
      OPC_CheckInteger, 1,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 4|128,1,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitIntegerI32, ARM::qsub_2,
      OPC_EmitIntegerI32, ARM::qsub_3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST41_32), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 11, 1,
     36,
      OPC_CheckInteger, 2,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 4|128,1,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitIntegerI32, ARM::qsub_2,
      OPC_EmitIntegerI32, ARM::qsub_3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST42_32), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 11, 1,
     36,
      OPC_CheckInteger, 3,
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 4|128,1,
      OPC_EmitIntegerI32, ARM::qsub_0,
      OPC_EmitIntegerI32, ARM::qsub_1,
      OPC_EmitIntegerI32, ARM::qsub_2,
      OPC_EmitIntegerI32, ARM::qsub_3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                      MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST43_32), 0|OPFL_Chain|OPFL_MemRefs,
                      2, 11, 1,
     0,
    0,
   0,
  27|128,2,
   OPC_RecordNode,
   OPC_Scope, 66,
    OPC_CheckChild1Integer, 21|128,29,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 18,
     OPC_CheckPredicate, 92,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::HINT),
                     3, 2, 3, 4,
    18,
     OPC_CheckPredicate, 23,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 114,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::tHINT),
                     3, 2, 3, 4,
    17,
     OPC_CheckPredicate, 92,
     OPC_MoveParent,
     OPC_CheckPatternPredicate4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2HINT),
                     3, 2, 3, 4,
    0,
   44,
    OPC_CheckChild1Integer, 16|128,29,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 23,
    OPC_MoveParent,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate, 76,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::DBG),
                     3, 2, 3, 4,
    14,
     OPC_CheckPatternPredicate4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2DBG),
                     3, 2, 3, 4,
    0,
   47,
    OPC_CheckChild1Integer, 73|128,32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 11,
     OPC_CheckPredicate, 51,
     OPC_MoveParent,
     OPC_CheckPatternPredicate3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::UDF),
                     1, 2,
    12,
     OPC_CheckPredicate, 47,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 52,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::tUDF),
                     1, 2,
    11,
     OPC_CheckPredicate, 51,
     OPC_MoveParent,
     OPC_CheckPatternPredicate4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2UDF),
                     1, 2,
    0,
   39,
    OPC_CheckChild1Integer, 17|128,29,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 23,
    OPC_MoveParent,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 77,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::DMB),
                     1, 2,
    15,
     OPC_CheckPatternPredicate, 78,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2DMB),
                     3, 2, 3, 4,
    0,
   39,
    OPC_CheckChild1Integer, 18|128,29,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 23,
    OPC_MoveParent,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 77,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::DSB),
                     1, 2,
    15,
     OPC_CheckPatternPredicate, 78,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2DSB),
                     3, 2, 3, 4,
    0,
   39,
    OPC_CheckChild1Integer, 22|128,29,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 23,
    OPC_MoveParent,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 77,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::ISB),
                     1, 2,
    15,
     OPC_CheckPatternPredicate, 78,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2ISB),
                     3, 2, 3, 4,
    0,
   0,
  122|128,1,
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_Scope, 120,
    OPC_CheckChild1Integer, 116|128,30,
    OPC_RecordChild2,
    OPC_Scope, 56,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_Scope, 21,
      OPC_CheckChild4Type, MVT::v4i32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRW32_qi), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 3, 1, 4, 5, 6, 7,
     22,
      OPC_CheckChild4Type, 4|128,1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRW32_qi), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 3, 1, 4, 5, 6, 7,
     0,
    56,
     OPC_CheckChild2Type, MVT::v2i64,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_Scope, 21,
      OPC_CheckChild4Type, MVT::v2i64,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRD64_qi), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 3, 1, 4, 5, 6, 7,
     22,
      OPC_CheckChild4Type, 22|128,1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRD64_qi), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 3, 1, 4, 5, 6, 7,
     0,
    0,
   124,
    OPC_CheckChild1Integer, 117|128,30,
    OPC_RecordChild2,
    OPC_Scope, 58,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_Scope, 22,
      OPC_CheckChild4Type, MVT::v4i32,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRW32_qi), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 3, 1, 5, 6, 4, 7,
     23,
      OPC_CheckChild4Type, 4|128,1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRW32_qi), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 3, 1, 5, 6, 4, 7,
     0,
    58,
     OPC_CheckChild2Type, MVT::v2i64,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_Scope, 22,
      OPC_CheckChild4Type, MVT::v2i64,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v2i1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRD64_qi), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 3, 1, 5, 6, 4, 7,
     23,
      OPC_CheckChild4Type, 22|128,1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v2i1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRD64_qi), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 3, 1, 5, 6, 4, 7,
     0,
    0,
   0,
  51,
   OPC_RecordNode,
   OPC_Scope, 27,
    OPC_CheckChild1Integer, 3|128,29,
    OPC_Scope, 7,
     OPC_CheckPatternPredicate, 115,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::CLREX),
                     0,
    13,
     OPC_CheckPatternPredicate, 116,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2CLREX),
                     2, 1, 2,
    0,
   19,
    OPC_CheckChild1Integer, 17|128,32,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate, 46,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMSR),
                    MVT::i32, 3, 1, 2, 3,
   0,
  0,
 85|128,2, TARGET_VAL(ARMISD::PRELOAD),
  OPC_RecordNode,
  OPC_Scope, 30|128,2,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_Scope, 125,
    OPC_CheckChild2Integer, 1,
    OPC_CheckChild2TypeI32,
    OPC_Scope, 28,
     OPC_CheckChild3Integer, 1,
     OPC_CheckPatternPredicate3,
     OPC_Scope, 11,
      OPC_CheckComplexPat, /*CP*/17, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::PLDrs),
                      3, 2, 3, 4,
     10,
      OPC_CheckComplexPat, /*CP*/18, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::PLDi12),
                      2, 2, 3,
     0,
    90,
     OPC_CheckChild3Integer, 0,
     OPC_Scope, 13,
      OPC_CheckPatternPredicate, 76,
      OPC_CheckComplexPat, /*CP*/17, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::PLIrs),
                      3, 2, 3, 4,
     19,
      OPC_CheckPatternPredicate, 93,
      OPC_CheckComplexPat, /*CP*/11, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2PLDWs),
                      5, 2, 3, 4, 5, 6,
     12,
      OPC_CheckPatternPredicate, 76,
      OPC_CheckComplexPat, /*CP*/18, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::PLIi12),
                      2, 2, 3,
     38,
      OPC_CheckPatternPredicate, 93,
      OPC_Scope, 16,
       OPC_CheckComplexPat, /*CP*/10, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2PLDWi12),
                       4, 2, 3, 4, 5,
      16,
       OPC_CheckComplexPat, /*CP*/12, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2PLDWi8),
                       4, 2, 3, 4, 5,
      0,
     0,
    0,
   26|128,1,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2TypeI32,
    OPC_Scope, 90,
     OPC_CheckChild3Integer, 1,
     OPC_Scope, 13,
      OPC_CheckPatternPredicate, 94,
      OPC_CheckComplexPat, /*CP*/17, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::PLDWrs),
                      3, 2, 3, 4,
     19,
      OPC_CheckPatternPredicate, 79,
      OPC_CheckComplexPat, /*CP*/11, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2PLIs),
                      5, 2, 3, 4, 5, 6,
     12,
      OPC_CheckPatternPredicate, 94,
      OPC_CheckComplexPat, /*CP*/18, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::PLDWi12),
                      2, 2, 3,
     38,
      OPC_CheckPatternPredicate, 79,
      OPC_Scope, 16,
       OPC_CheckComplexPat, /*CP*/10, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2PLIi12),
                       4, 2, 3, 4, 5,
      16,
       OPC_CheckComplexPat, /*CP*/12, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2PLIi8),
                       4, 2, 3, 4, 5,
      0,
     0,
    57,
     OPC_CheckChild3Integer, 0,
     OPC_CheckPatternPredicate4,
     OPC_Scope, 17,
      OPC_CheckComplexPat, /*CP*/11, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2PLDs),
                      5, 2, 3, 4, 5, 6,
     16,
      OPC_CheckComplexPat, /*CP*/10, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2PLDi12),
                      4, 2, 3, 4, 5,
     16,
      OPC_CheckComplexPat, /*CP*/12, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2PLDi8),
                      4, 2, 3, 4, 5,
     0,
    0,
   0,
  49,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::Wrapper),
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstantPool),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckChild2Integer, 0,
   OPC_CheckChild2TypeI32,
   OPC_Scope, 15,
    OPC_CheckChild3Integer, 0,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2PLDpci),
                    3, 1, 2, 3,
   16,
    OPC_CheckChild3Integer, 1,
    OPC_CheckPatternPredicate, 79,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2PLIpci),
                    3, 1, 2, 3,
   0,
  0,
 20|128,9, TARGET_VAL(ARMISD::CMPZ),
  OPC_Scope, 101,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 46, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckPatternPredicate3,
    OPC_Scope, 17,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::TSTrsr),
                     MVT::i32, 6, 0, 2, 3, 4, 5, 6,
    17,
     OPC_CheckComplexPat3, /*#*/0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::TSTrsr),
                     MVT::i32, 6, 1, 2, 3, 4, 5, 6,
    0,
   46, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckPatternPredicate3,
    OPC_Scope, 17,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::TEQrsr),
                     MVT::i32, 6, 0, 2, 3, 4, 5, 6,
    17,
     OPC_CheckComplexPat3, /*#*/0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::TEQrsr),
                     MVT::i32, 6, 1, 2, 3, 4, 5, 6,
    0,
   0,
  28,
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
   OPC_CheckChild0Integer, 0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::CMNzrsr),
                   MVT::i32, 6, 0, 2, 3, 4, 5, 6,
  70|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 24, TARGET_VAL(ISD::SUB),
    OPC_CheckChild0Integer, 0,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat3, /*#*/0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CMNzrsr),
                    MVT::i32, 6, 1, 2, 3, 4, 5, 6,
   81, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::TSTrsi),
                     MVT::i32, 5, 0, 2, 3, 4, 5,
    17,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2TSTrs),
                     MVT::i32, 5, 0, 2, 3, 4, 5,
    17,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat4, /*#*/0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::TSTrsi),
                     MVT::i32, 5, 1, 2, 3, 4, 5,
    17,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2TSTrs),
                     MVT::i32, 5, 1, 2, 3, 4, 5,
    0,
   81, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::TEQrsi),
                     MVT::i32, 5, 0, 2, 3, 4, 5,
    17,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2TEQrs),
                     MVT::i32, 5, 0, 2, 3, 4, 5,
    17,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat4, /*#*/0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::TEQrsi),
                     MVT::i32, 5, 1, 2, 3, 4, 5,
    17,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2TEQrs),
                     MVT::i32, 5, 1, 2, 3, 4, 5,
    0,
   0,
  48,
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
   OPC_CheckChild0Integer, 0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_Scope, 17,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CMNzrsi),
                    MVT::i32, 5, 0, 2, 3, 4, 5,
   17,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2CMNzrs),
                    MVT::i32, 5, 0, 2, 3, 4, 5,
   0,
  48,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
   OPC_CheckChild0Integer, 0,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_Scope, 17,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CMNzrsi),
                    MVT::i32, 5, 1, 2, 3, 4, 5,
   17,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat6, /*#*/0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2CMNzrs),
                    MVT::i32, 5, 1, 2, 3, 4, 5,
   0,
  76,
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_CheckChild1Integer, 0,
   OPC_CheckPatternPredicate3,
   OPC_Scope, 34,
    OPC_CheckComplexPat3, /*#*/0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::MOVsr),
                    MVT::i32, 6, 1, 2, 3, 4, 5, 6,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CMPri),
                    MVT::i32, 4, 7, 8, 9, 10,
   33,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::MOVsi),
                    MVT::i32, 5, 1, 2, 3, 4, 5,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CMPri),
                    MVT::i32, 4, 6, 7, 8, 9,
   0,
  121,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 56, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 23,
     OPC_CheckPredicate, 20,
     OPC_MoveParent,
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckPatternPredicate3,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::TSTri),
                     MVT::i32, 4, 0, 2, 3, 4,
    23,
     OPC_CheckPredicate, 13,
     OPC_MoveParent,
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2TSTri),
                     MVT::i32, 4, 0, 2, 3, 4,
    0,
   56, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 23,
     OPC_CheckPredicate, 20,
     OPC_MoveParent,
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckPatternPredicate3,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::TEQri),
                     MVT::i32, 4, 0, 2, 3, 4,
    23,
     OPC_CheckPredicate, 13,
     OPC_MoveParent,
     OPC_CheckPredicate0,
     OPC_CheckTypeI32,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2TEQri),
                     MVT::i32, 4, 0, 2, 3, 4,
    0,
   0,
  59,
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate3,
   OPC_Scope, 17,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CMPrsr),
                    MVT::i32, 6, 0, 2, 3, 4, 5, 6,
   17,
    OPC_CheckComplexPat3, /*#*/0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CMPrsr),
                    MVT::i32, 6, 1, 2, 3, 4, 5, 6,
   16,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CMPrsi),
                    MVT::i32, 5, 0, 2, 3, 4, 5,
   0,
  70,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 40, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::TSTrr),
                     MVT::i32, 4, 0, 1, 2, 3,
    15,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::tTST),
                     MVT::i32, 4, 0, 1, 2, 3,
    0,
   21, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::TEQrr),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  21,
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat, /*CP*/39, /*#*/1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2CMPrs),
                   MVT::i32, 5, 0, 2, 3, 4, 5,
  51,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 21, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2TSTrr),
                    MVT::i32, 4, 0, 1, 2, 3,
   21, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2TEQrr),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  102,
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_Scope, 40,
    OPC_RecordChild1,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat4, /*#*/0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::CMPrsi),
                     MVT::i32, 5, 1, 2, 3, 4, 5,
    18,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat, /*CP*/39, /*#*/0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2CMPrs),
                     MVT::i32, 5, 1, 2, 3, 4, 5,
    0,
   56,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
    OPC_CheckChild0Integer, 0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::CMNzrr),
                     MVT::i32, 4, 0, 1, 2, 3,
    15,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::tCMNz),
                     MVT::i32, 4, 0, 1, 2, 3,
    14,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2CMNzrr),
                     MVT::i32, 4, 0, 1, 2, 3,
    0,
   0,
  58,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
   OPC_CheckChild0Integer, 0,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CMNzrr),
                    MVT::i32, 4, 1, 0, 2, 3,
   15,
    OPC_CheckPatternPredicate, 12,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::tCMNz),
                    MVT::i32, 4, 1, 0, 2, 3,
   14,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2CMNzrr),
                    MVT::i32, 4, 1, 0, 2, 3,
   0,
  45|128,1,
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_RecordChild1,
   OPC_Scope, 108,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 18,
     OPC_CheckPredicate, 20,
     OPC_MoveParent,
     OPC_CheckPatternPredicate3,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::CMPri),
                     MVT::i32, 4, 0, 2, 3, 4,
    21,
     OPC_CheckPredicate, 61,
     OPC_MoveParent,
     OPC_CheckPatternPredicate3,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 3, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::CMNri),
                     MVT::i32, 4, 0, 3, 4, 5,
    19,
     OPC_CheckPredicate, 47,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::tCMPi8),
                     MVT::i32, 4, 0, 2, 3, 4,
    18,
     OPC_CheckPredicate, 13,
     OPC_MoveParent,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2CMPri),
                     MVT::i32, 4, 0, 2, 3, 4,
    21,
     OPC_CheckPredicate, 62,
     OPC_MoveParent,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 4, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2CMNri),
                     MVT::i32, 4, 0, 3, 4, 5,
    0,
   14,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CMPrr),
                    MVT::i32, 4, 0, 1, 2, 3,
   15,
    OPC_CheckPatternPredicate, 12,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::tCMPr),
                    MVT::i32, 4, 0, 1, 2, 3,
   27,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_Scope, 9,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2CMPrr),
                     MVT::i32, 4, 0, 1, 2, 3,
    9,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2CMPrr),
                     MVT::i32, 4, 1, 0, 2, 3,
    0,
   0,
  0,
 82|128,54, TARGET_VAL(ISD::LOAD),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_Scope, 41|128,1,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate, 24,
   OPC_CheckTypeI32,
   OPC_Scope, 21,
    OPC_CheckPredicate, 17,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat, /*CP*/21, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::PICLDR), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5,
   46,
    OPC_CheckPredicate, 16,
    OPC_Scope, 20,
     OPC_CheckPredicate3,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/21, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::PICLDRH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 2, 3, 4, 5,
    20,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/21, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::PICLDRB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 2, 3, 4, 5,
    0,
   92,
    OPC_CheckPredicate, 18,
    OPC_Scope, 20,
     OPC_CheckPredicate3,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/21, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::PICLDRSH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 2, 3, 4, 5,
    44,
     OPC_CheckPredicate2,
     OPC_Scope, 19,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat, /*CP*/21, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::PICLDRSB), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     20,
      OPC_CheckPatternPredicate, 12,
      OPC_CheckComplexPat, /*CP*/40, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRSB), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     0,
    21,
     OPC_CheckPredicate3,
     OPC_CheckPatternPredicate, 12,
     OPC_CheckComplexPat, /*CP*/40, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRSH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 2, 3, 4, 5,
    0,
   0,
  95,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 58, TARGET_VAL(ARMISD::WrapperPIC),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 31, TARGET_VAL(ISD::TargetGlobalAddress),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 24,
     OPC_CheckPredicate, 17,
     OPC_CheckTypeI32,
     OPC_Scope, 10,
      OPC_CheckPatternPredicate, 80,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRLIT_ga_pcrel_ldr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 1, 1,
     10,
      OPC_CheckPatternPredicate, 72,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MOV_ga_pcrel_ldr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 1, 1,
     0,
    17, TARGET_VAL(ISD::TargetGlobalTLSAddress),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 24,
     OPC_CheckPredicate, 17,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 72,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MOV_ga_pcrel_ldr), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 1, 1,
    0,
   28, TARGET_VAL(ARMISD::Wrapper),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstantPool),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate, 24,
    OPC_CheckPredicate, 17,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 12,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRpci), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 1, 2, 3,
   0,
  84|128,13,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate, 24,
   OPC_CheckTypeI32,
   OPC_Scope, 22,
    OPC_CheckPredicate, 17,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat, /*CP*/17, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRrs), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 5, 2, 3, 4, 5, 6,
   48,
    OPC_CheckPredicate, 16,
    OPC_Scope, 21,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/17, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRBrs), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 5, 2, 3, 4, 5, 6,
    21,
     OPC_CheckPredicate3,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/20, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 5, 2, 3, 4, 5, 6,
    0,
   48,
    OPC_CheckPredicate, 18,
    OPC_Scope, 21,
     OPC_CheckPredicate3,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/20, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRSH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 5, 2, 3, 4, 5, 6,
    21,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/20, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRSB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 5, 2, 3, 4, 5, 6,
    0,
   24,
    OPC_CheckPredicate, 16,
    OPC_CheckPredicate, 36,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat, /*CP*/17, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRBrs), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 5, 2, 3, 4, 5, 6,
   71,
    OPC_CheckPredicate, 15,
    OPC_Scope, 22,
     OPC_CheckPredicate, 36,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/17, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRBrs), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 5, 2, 3, 4, 5, 6,
    21,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/17, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRBrs), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 5, 2, 3, 4, 5, 6,
    21,
     OPC_CheckPredicate3,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/20, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 5, 2, 3, 4, 5, 6,
    0,
   22,
    OPC_CheckPredicate, 17,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat, /*CP*/11, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRs), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 5, 2, 3, 4, 5, 6,
   48,
    OPC_CheckPredicate, 16,
    OPC_Scope, 21,
     OPC_CheckPredicate3,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRHs), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 5, 2, 3, 4, 5, 6,
    21,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBs), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 5, 2, 3, 4, 5, 6,
    0,
   48,
    OPC_CheckPredicate, 18,
    OPC_Scope, 21,
     OPC_CheckPredicate3,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRSHs), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 5, 2, 3, 4, 5, 6,
    21,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRSBs), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 5, 2, 3, 4, 5, 6,
    0,
   24,
    OPC_CheckPredicate, 16,
    OPC_CheckPredicate, 36,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat, /*CP*/11, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBs), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 5, 2, 3, 4, 5, 6,
   71,
    OPC_CheckPredicate, 15,
    OPC_Scope, 22,
     OPC_CheckPredicate, 36,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBs), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 5, 2, 3, 4, 5, 6,
    21,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBs), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 5, 2, 3, 4, 5, 6,
    21,
     OPC_CheckPredicate3,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat, /*CP*/11, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRHs), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 5, 2, 3, 4, 5, 6,
    0,
   76,
    OPC_CheckPredicate, 18,
    OPC_Scope, 35,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate, 50,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, ARM::CPSR,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::tMOVi8),
                     MVT::i32, 4, 2, 3, 4, 5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRSB), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 1, 6, 7, 8,
    35,
     OPC_CheckPredicate3,
     OPC_CheckPatternPredicate, 50,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegisterI32, ARM::CPSR,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::tMOVi8),
                     MVT::i32, 4, 2, 3, 4, 5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRSH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 1, 6, 7, 8,
    0,
   21,
    OPC_CheckPredicate, 17,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat, /*CP*/18, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRi12), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5,
   47,
    OPC_CheckPredicate, 16,
    OPC_Scope, 20,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/18, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 2, 3, 4, 5,
    21,
     OPC_CheckPredicate, 36,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/18, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 2, 3, 4, 5,
    0,
   90,
    OPC_CheckPredicate, 15,
    OPC_Scope, 21,
     OPC_CheckPredicate, 36,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/18, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 2, 3, 4, 5,
    42,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate3,
     OPC_Scope, 18,
      OPC_CheckComplexPat, /*CP*/18, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     18,
      OPC_CheckComplexPat, /*CP*/21, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::PICLDRB), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     0,
    20,
     OPC_CheckPredicate3,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat, /*CP*/21, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::PICLDRH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 2, 3, 4, 5,
    0,
   63,
    OPC_CheckPredicate, 17,
    OPC_CheckPatternPredicate, 12,
    OPC_Scope, 18,
     OPC_CheckComplexPat, /*CP*/30, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRspi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 2, 3, 4, 5,
    18,
     OPC_CheckComplexPat, /*CP*/35, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 2, 3, 4, 5,
    18,
     OPC_CheckComplexPat, /*CP*/13, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRr), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 2, 3, 4, 5,
    0,
   9|128,1,
    OPC_CheckPredicate, 16,
    OPC_Scope, 43,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate, 12,
     OPC_Scope, 18,
      OPC_CheckComplexPat, /*CP*/23, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRBi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     18,
      OPC_CheckComplexPat, /*CP*/13, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRBr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     0,
    43,
     OPC_CheckPredicate3,
     OPC_CheckPatternPredicate, 12,
     OPC_Scope, 18,
      OPC_CheckComplexPat, /*CP*/22, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRHi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     18,
      OPC_CheckComplexPat, /*CP*/13, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRHr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     0,
    44,
     OPC_CheckPredicate, 36,
     OPC_CheckPatternPredicate, 12,
     OPC_Scope, 18,
      OPC_CheckComplexPat, /*CP*/23, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRBi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     18,
      OPC_CheckComplexPat, /*CP*/13, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRBr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     0,
    0,
   76|128,1,
    OPC_CheckPredicate, 15,
    OPC_Scope, 22,
     OPC_CheckPredicate, 36,
     OPC_CheckPatternPredicate, 81,
     OPC_CheckComplexPat, /*CP*/30, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRspi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 2, 3, 4, 5,
    21,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate, 81,
     OPC_CheckComplexPat, /*CP*/30, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRspi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 2, 3, 4, 5,
    21,
     OPC_CheckPredicate3,
     OPC_CheckPatternPredicate, 81,
     OPC_CheckComplexPat, /*CP*/30, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRspi), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 2, 3, 4, 5,
    44,
     OPC_CheckPredicate, 36,
     OPC_CheckPatternPredicate, 12,
     OPC_Scope, 18,
      OPC_CheckComplexPat, /*CP*/23, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRBi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     18,
      OPC_CheckComplexPat, /*CP*/13, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRBr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     0,
    43,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate, 12,
     OPC_Scope, 18,
      OPC_CheckComplexPat, /*CP*/23, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRBi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     18,
      OPC_CheckComplexPat, /*CP*/13, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRBr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     0,
    43,
     OPC_CheckPredicate3,
     OPC_CheckPatternPredicate, 12,
     OPC_Scope, 18,
      OPC_CheckComplexPat, /*CP*/22, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRHi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     18,
      OPC_CheckComplexPat, /*CP*/13, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRHr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     0,
    0,
   43,
    OPC_CheckPredicate, 17,
    OPC_CheckPatternPredicate4,
    OPC_Scope, 18,
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRi12), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 2, 3, 4, 5,
    18,
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRi8), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 2, 3, 4, 5,
    0,
   90,
    OPC_CheckPredicate, 16,
    OPC_Scope, 42,
     OPC_CheckPredicate3,
     OPC_CheckPatternPredicate4,
     OPC_Scope, 18,
      OPC_CheckComplexPat, /*CP*/10, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRHi12), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     18,
      OPC_CheckComplexPat, /*CP*/12, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRHi8), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     0,
    42,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate4,
     OPC_Scope, 18,
      OPC_CheckComplexPat, /*CP*/10, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     18,
      OPC_CheckComplexPat, /*CP*/12, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBi8), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     0,
    0,
   90,
    OPC_CheckPredicate, 18,
    OPC_Scope, 42,
     OPC_CheckPredicate3,
     OPC_CheckPatternPredicate4,
     OPC_Scope, 18,
      OPC_CheckComplexPat, /*CP*/10, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRSHi12), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     18,
      OPC_CheckComplexPat, /*CP*/12, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRSHi8), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     0,
    42,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate4,
     OPC_Scope, 18,
      OPC_CheckComplexPat, /*CP*/10, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRSBi12), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     18,
      OPC_CheckComplexPat, /*CP*/12, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRSBi8), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     0,
    0,
   45,
    OPC_CheckPredicate, 16,
    OPC_CheckPredicate, 36,
    OPC_CheckPatternPredicate4,
    OPC_Scope, 18,
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 2, 3, 4, 5,
    18,
     OPC_CheckComplexPat, /*CP*/12, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBi8), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 2, 3, 4, 5,
    0,
   6|128,1,
    OPC_CheckPredicate, 15,
    OPC_Scope, 43,
     OPC_CheckPredicate, 36,
     OPC_CheckPatternPredicate4,
     OPC_Scope, 18,
      OPC_CheckComplexPat, /*CP*/10, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     18,
      OPC_CheckComplexPat, /*CP*/12, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBi8), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     0,
    42,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate4,
     OPC_Scope, 18,
      OPC_CheckComplexPat, /*CP*/10, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     18,
      OPC_CheckComplexPat, /*CP*/12, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBi8), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     0,
    42,
     OPC_CheckPredicate3,
     OPC_CheckPatternPredicate4,
     OPC_Scope, 18,
      OPC_CheckComplexPat, /*CP*/10, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRHi12), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     18,
      OPC_CheckComplexPat, /*CP*/12, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRHi8), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 4, 5,
     0,
    0,
   120|128,1,
    OPC_CheckPredicate, 18,
    OPC_Scope, 121,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate, 12,
     OPC_Scope, 57,
      OPC_CheckComplexPat, /*CP*/23, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitRegisterI32, ARM::CPSR,
      OPC_EmitRegisterI32, ARM::CPSR,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1, TARGET_VAL(ARM::tLDRBi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 6, 7,
      OPC_EmitIntegerI32, 24,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(ARM::tLSLri),
                      MVT::i32, 5, 5, 8, 9, 10, 11,
      OPC_EmitIntegerI32, 24,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(ARM::tASRri),
                      MVT::i32, 5, 4, 12, 13, 14, 15,
      OPC_CompleteMatch, 1, 16,

     57,
      OPC_CheckComplexPat, /*CP*/13, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitRegisterI32, ARM::CPSR,
      OPC_EmitRegisterI32, ARM::CPSR,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1, TARGET_VAL(ARM::tLDRBr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 6, 7,
      OPC_EmitIntegerI32, 24,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(ARM::tLSLri),
                      MVT::i32, 5, 5, 8, 9, 10, 11,
      OPC_EmitIntegerI32, 24,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(ARM::tASRri),
                      MVT::i32, 5, 4, 12, 13, 14, 15,
      OPC_CompleteMatch, 1, 16,

     0,
    121,
     OPC_CheckPredicate3,
     OPC_CheckPatternPredicate, 12,
     OPC_Scope, 57,
      OPC_CheckComplexPat, /*CP*/22, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitRegisterI32, ARM::CPSR,
      OPC_EmitRegisterI32, ARM::CPSR,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1, TARGET_VAL(ARM::tLDRHi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 6, 7,
      OPC_EmitIntegerI32, 16,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(ARM::tLSLri),
                      MVT::i32, 5, 5, 8, 9, 10, 11,
      OPC_EmitIntegerI32, 16,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(ARM::tASRri),
                      MVT::i32, 5, 4, 12, 13, 14, 15,
      OPC_CompleteMatch, 1, 16,

     57,
      OPC_CheckComplexPat, /*CP*/13, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitRegisterI32, ARM::CPSR,
      OPC_EmitRegisterI32, ARM::CPSR,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1, TARGET_VAL(ARM::tLDRHr), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4, 2, 3, 6, 7,
      OPC_EmitIntegerI32, 16,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(ARM::tLSLri),
                      MVT::i32, 5, 5, 8, 9, 10, 11,
      OPC_EmitIntegerI32, 16,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(ARM::tASRri),
                      MVT::i32, 5, 4, 12, 13, 14, 15,
      OPC_CompleteMatch, 1, 16,

     0,
    0,
   0,
  61|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::Wrapper),
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstantPool),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckPredicate, 24,
   OPC_CheckTypeI32,
   OPC_Scope, 17,
    OPC_CheckPredicate, 17,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRpci), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 1, 2, 3,
   38,
    OPC_CheckPredicate, 16,
    OPC_Scope, 16,
     OPC_CheckPredicate3,
     OPC_CheckPatternPredicate4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRHpci), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 1, 2, 3,
    16,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBpci), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 1, 2, 3,
    0,
   38,
    OPC_CheckPredicate, 18,
    OPC_Scope, 16,
     OPC_CheckPredicate3,
     OPC_CheckPatternPredicate4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRSHpci), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 1, 2, 3,
    16,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRSBpci), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 1, 2, 3,
    0,
   19,
    OPC_CheckPredicate, 16,
    OPC_CheckPredicate, 36,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBpci), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 3, 1, 2, 3,
   56,
    OPC_CheckPredicate, 15,
    OPC_Scope, 17,
     OPC_CheckPredicate, 36,
     OPC_CheckPatternPredicate4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBpci), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 1, 2, 3,
    16,
     OPC_CheckPredicate2,
     OPC_CheckPatternPredicate4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBpci), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 1, 2, 3,
    16,
     OPC_CheckPredicate3,
     OPC_CheckPatternPredicate4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRHpci), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 3, 1, 2, 3,
    0,
   0,
  44|128,37,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate, 24,
   OPC_Scope, 111|128,1,
    OPC_CheckPredicate, 17,
    OPC_Scope, 34,
     OPC_CheckPredicate, 56,
     OPC_CheckType, MVT::bf16,
     OPC_CheckPatternPredicate, 90,
     OPC_CheckComplexPat, /*CP*/20, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::LDRH), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 5, 2, 3, 4, 5, 6,
     OPC_EmitIntegerI32, ARM::HPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::bf16, 2, 7, 8,
    46,
     OPC_CheckPredicate, 39,
     OPC_SwitchType , 19, MVT::f64,
      OPC_CheckPatternPredicate, 46,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VLDRD), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 4, 2, 3, 4, 5,
     19, MVT::f32,
      OPC_CheckPatternPredicate, 46,
      OPC_CheckComplexPat2, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VLDRS), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f32, 4, 2, 3, 4, 5,
     0,
    48,
     OPC_CheckPredicate, 56,
     OPC_SwitchType , 20, MVT::f16,
      OPC_CheckPatternPredicate, 54,
      OPC_CheckComplexPat, /*CP*/36, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VLDRH), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f16, 4, 2, 3, 4, 5,
     20, MVT::bf16,
      OPC_CheckPatternPredicate, 54,
      OPC_CheckComplexPat, /*CP*/36, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VLDRH), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::bf16, 4, 2, 3, 4, 5,
     0,
    22,
     OPC_CheckPredicate, 57,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1d16), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 4, 2, 3, 4, 5,
    22,
     OPC_CheckPredicate, 65,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1d8), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 4, 2, 3, 4, 5,
    23,
     OPC_CheckPredicate, 104,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1d64), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f64, 4, 2, 3, 4, 5,
    33,
     OPC_CheckPredicate, 56,
     OPC_CheckType, MVT::bf16,
     OPC_CheckPatternPredicate, 91,
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::t2LDRHi12), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 4, 2, 3, 4, 5,
     OPC_EmitIntegerI32, ARM::HPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::bf16, 2, 6, 7,
    0,
   39,
    OPC_CheckPredicate, 15,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1d8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 4, 2, 3, 4, 5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv8i16),
                    MVT::v8i16, 3, 6, 7, 8,
    OPC_CompleteMatch, 1, 9,

   39,
    OPC_CheckPredicate, 16,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1d8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 4, 2, 3, 4, 5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv8i16),
                    MVT::v8i16, 3, 6, 7, 8,
    OPC_CompleteMatch, 1, 9,

   39,
    OPC_CheckPredicate, 18,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1d8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 4, 2, 3, 4, 5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLsv8i16),
                    MVT::v8i16, 3, 6, 7, 8,
    OPC_CompleteMatch, 1, 9,

   39,
    OPC_CheckPredicate, 15,
    OPC_CheckPredicate, 25,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1d16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 4, 2, 3, 4, 5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv4i32),
                    MVT::v4i32, 3, 6, 7, 8,
    OPC_CompleteMatch, 1, 9,

   39,
    OPC_CheckPredicate, 16,
    OPC_CheckPredicate, 25,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1d16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 4, 2, 3, 4, 5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv4i32),
                    MVT::v4i32, 3, 6, 7, 8,
    OPC_CompleteMatch, 1, 9,

   39,
    OPC_CheckPredicate, 18,
    OPC_CheckPredicate, 25,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1d16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 4, 2, 3, 4, 5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLsv4i32),
                    MVT::v4i32, 3, 6, 7, 8,
    OPC_CompleteMatch, 1, 9,

   39,
    OPC_CheckPredicate, 15,
    OPC_CheckPredicate, 77,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1d32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 4, 2, 3, 4, 5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv2i64),
                    MVT::v2i64, 3, 6, 7, 8,
    OPC_CompleteMatch, 1, 9,

   39,
    OPC_CheckPredicate, 16,
    OPC_CheckPredicate, 77,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1d32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 4, 2, 3, 4, 5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv2i64),
                    MVT::v2i64, 3, 6, 7, 8,
    OPC_CompleteMatch, 1, 9,

   39,
    OPC_CheckPredicate, 18,
    OPC_CheckPredicate, 77,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1d32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 4, 2, 3, 4, 5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLsv2i64),
                    MVT::v2i64, 3, 6, 7, 8,
    OPC_CompleteMatch, 1, 9,

   0|128,3,
    OPC_CheckPredicate, 17,
    OPC_Scope, 96,
     OPC_CheckPredicate, 65,
     OPC_SwitchType , 21, MVT::v16i8,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i8, 5, 2, 3, 4, 5, 6,
     21, MVT::v8i16,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i16, 5, 2, 3, 4, 5, 6,
     21, MVT::v4i32,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 5, 2, 3, 4, 5, 6,
     21, MVT::v2i64,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i64, 5, 2, 3, 4, 5, 6,
     0,
    100,
     OPC_CheckPredicate, 57,
     OPC_SwitchType , 22, MVT::v16i8,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/14, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i8, 5, 2, 3, 4, 5, 6,
     22, MVT::v8i16,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/14, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i16, 5, 2, 3, 4, 5, 6,
     22, MVT::v4i32,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/14, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 5, 2, 3, 4, 5, 6,
     22, MVT::v2i64,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/14, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i64, 5, 2, 3, 4, 5, 6,
     0,
    100,
     OPC_CheckPredicate, 39,
     OPC_SwitchType , 22, MVT::v16i8,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/15, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i8, 5, 2, 3, 4, 5, 6,
     22, MVT::v8i16,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/15, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i16, 5, 2, 3, 4, 5, 6,
     22, MVT::v4i32,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/15, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 5, 2, 3, 4, 5, 6,
     22, MVT::v2i64,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/15, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i64, 5, 2, 3, 4, 5, 6,
     0,
    24,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 14,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i8, 5, 2, 3, 4, 5, 6,
    27,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPredicate, 56,
     OPC_CheckPatternPredicate, 14,
     OPC_CheckComplexPat, /*CP*/14, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i16, 5, 2, 3, 4, 5, 6,
    27,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPredicate, 39,
     OPC_CheckPatternPredicate, 14,
     OPC_CheckComplexPat, /*CP*/15, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i32, 5, 2, 3, 4, 5, 6,
    0,
   28,
    OPC_CheckPredicate, 15,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/19, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v8i16, 5, 2, 3, 4, 5, 6,
   28,
    OPC_CheckPredicate, 18,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/19, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBS16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v8i16, 5, 2, 3, 4, 5, 6,
   28,
    OPC_CheckPredicate, 16,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/19, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v8i16, 5, 2, 3, 4, 5, 6,
   28,
    OPC_CheckPredicate, 15,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/19, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 5, 2, 3, 4, 5, 6,
   28,
    OPC_CheckPredicate, 18,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/19, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBS32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 5, 2, 3, 4, 5, 6,
   28,
    OPC_CheckPredicate, 16,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/19, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 5, 2, 3, 4, 5, 6,
   28,
    OPC_CheckPredicate, 15,
    OPC_CheckPredicate, 25,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/27, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 5, 2, 3, 4, 5, 6,
   28,
    OPC_CheckPredicate, 18,
    OPC_CheckPredicate, 25,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/27, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHS32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 5, 2, 3, 4, 5, 6,
   28,
    OPC_CheckPredicate, 16,
    OPC_CheckPredicate, 25,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/27, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 5, 2, 3, 4, 5, 6,
   11|128,1,
    OPC_CheckPredicate, 17,
    OPC_SwitchType , 43, MVT::v2i64,
     OPC_CheckPatternPredicate, 14,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i8, 5, 2, 3, 4, 5, 6,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::MVE_VREV64_8),
                     MVT::v2i64, 5, 7, 8, 9, 10, 11,
    43, MVT::v4i32,
     OPC_CheckPatternPredicate, 14,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i8, 5, 2, 3, 4, 5, 6,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::MVE_VREV32_8),
                     MVT::v4i32, 5, 7, 8, 9, 10, 11,
    43, MVT::v8i16,
     OPC_CheckPatternPredicate, 14,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i8, 5, 2, 3, 4, 5, 6,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::MVE_VREV16_8),
                     MVT::v8i16, 5, 7, 8, 9, 10, 11,
    0,
   54,
    OPC_CheckPredicate, 15,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv8i16),
                    MVT::v16i8, 3, 8, 9, 10,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 11, 12,
   54,
    OPC_CheckPredicate, 16,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv8i16),
                    MVT::v16i8, 3, 8, 9, 10,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 11, 12,
   54,
    OPC_CheckPredicate, 18,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLsv8i16),
                    MVT::v16i8, 3, 8, 9, 10,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 11, 12,
   54,
    OPC_CheckPredicate, 15,
    OPC_CheckPredicate, 25,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv4i32),
                    MVT::v16i8, 3, 8, 9, 10,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 11, 12,
   54,
    OPC_CheckPredicate, 16,
    OPC_CheckPredicate, 25,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv4i32),
                    MVT::v16i8, 3, 8, 9, 10,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 11, 12,
   54,
    OPC_CheckPredicate, 18,
    OPC_CheckPredicate, 25,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLsv4i32),
                    MVT::v16i8, 3, 8, 9, 10,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 11, 12,
   69,
    OPC_CheckPredicate, 15,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv8i16),
                    MVT::v16i8, 3, 8, 9, 10,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 11, 12,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv4i32),
                    MVT::v4i32, 3, 13, 14, 15,
    OPC_CompleteMatch, 1, 16,

   69,
    OPC_CheckPredicate, 16,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv8i16),
                    MVT::v16i8, 3, 8, 9, 10,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 11, 12,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv4i32),
                    MVT::v4i32, 3, 13, 14, 15,
    OPC_CompleteMatch, 1, 16,

   69,
    OPC_CheckPredicate, 18,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLsv8i16),
                    MVT::v16i8, 3, 8, 9, 10,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 11, 12,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLsv4i32),
                    MVT::v4i32, 3, 13, 14, 15,
    OPC_CompleteMatch, 1, 16,

   69,
    OPC_CheckPredicate, 15,
    OPC_CheckPredicate, 25,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv4i32),
                    MVT::v16i8, 3, 8, 9, 10,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 11, 12,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv2i64),
                    MVT::v2i64, 3, 13, 14, 15,
    OPC_CompleteMatch, 1, 16,

   69,
    OPC_CheckPredicate, 16,
    OPC_CheckPredicate, 25,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv4i32),
                    MVT::v16i8, 3, 8, 9, 10,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 11, 12,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv2i64),
                    MVT::v2i64, 3, 13, 14, 15,
    OPC_CompleteMatch, 1, 16,

   69,
    OPC_CheckPredicate, 18,
    OPC_CheckPredicate, 25,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLsv4i32),
                    MVT::v16i8, 3, 8, 9, 10,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 11, 12,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLsv2i64),
                    MVT::v2i64, 3, 13, 14, 15,
    OPC_CompleteMatch, 1, 16,

   67,
    OPC_CheckPredicate, 15,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VREV32d8),
                    MVT::f64, 3, 8, 9, 10,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv8i16),
                    MVT::v16i8, 3, 11, 12, 13,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 14, 15,
   67,
    OPC_CheckPredicate, 16,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VREV32d8),
                    MVT::f64, 3, 8, 9, 10,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv8i16),
                    MVT::v16i8, 3, 11, 12, 13,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 14, 15,
   67,
    OPC_CheckPredicate, 18,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VREV32d8),
                    MVT::f64, 3, 8, 9, 10,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLsv8i16),
                    MVT::v16i8, 3, 11, 12, 13,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 14, 15,
   67,
    OPC_CheckPredicate, 15,
    OPC_CheckPredicate, 25,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VREV32d16),
                    MVT::f64, 3, 8, 9, 10,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv4i32),
                    MVT::v16i8, 3, 11, 12, 13,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 14, 15,
   67,
    OPC_CheckPredicate, 16,
    OPC_CheckPredicate, 25,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VREV32d16),
                    MVT::f64, 3, 8, 9, 10,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv4i32),
                    MVT::v16i8, 3, 11, 12, 13,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 14, 15,
   67,
    OPC_CheckPredicate, 18,
    OPC_CheckPredicate, 25,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VREV32d16),
                    MVT::f64, 3, 8, 9, 10,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLsv4i32),
                    MVT::v16i8, 3, 11, 12, 13,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 14, 15,
   75,
    OPC_CheckPredicate, 15,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv8i16),
                    MVT::v16i8, 3, 8, 9, 10,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 11, 12,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv4i32),
                    MVT::v16i8, 3, 13, 14, 15,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 16, 17,
   75,
    OPC_CheckPredicate, 16,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv8i16),
                    MVT::v16i8, 3, 8, 9, 10,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 11, 12,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv4i32),
                    MVT::v16i8, 3, 13, 14, 15,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 16, 17,
   75,
    OPC_CheckPredicate, 18,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLsv8i16),
                    MVT::v16i8, 3, 8, 9, 10,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 11, 12,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLsv4i32),
                    MVT::v16i8, 3, 13, 14, 15,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 16, 17,
   82,
    OPC_CheckPredicate, 15,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VREV32d8),
                    MVT::f64, 3, 8, 9, 10,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv8i16),
                    MVT::v16i8, 3, 11, 12, 13,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 14, 15,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv4i32),
                    MVT::v4i32, 3, 16, 17, 18,
    OPC_CompleteMatch, 1, 19,

   82,
    OPC_CheckPredicate, 16,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VREV32d8),
                    MVT::f64, 3, 8, 9, 10,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv8i16),
                    MVT::v16i8, 3, 11, 12, 13,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 14, 15,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv4i32),
                    MVT::v4i32, 3, 16, 17, 18,
    OPC_CompleteMatch, 1, 19,

   82,
    OPC_CheckPredicate, 18,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VREV32d8),
                    MVT::f64, 3, 8, 9, 10,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLsv8i16),
                    MVT::v16i8, 3, 11, 12, 13,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 14, 15,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLsv4i32),
                    MVT::v4i32, 3, 16, 17, 18,
    OPC_CompleteMatch, 1, 19,

   82,
    OPC_CheckPredicate, 15,
    OPC_CheckPredicate, 25,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VREV32d16),
                    MVT::f64, 3, 8, 9, 10,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv4i32),
                    MVT::v16i8, 3, 11, 12, 13,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 14, 15,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv2i64),
                    MVT::v2i64, 3, 16, 17, 18,
    OPC_CompleteMatch, 1, 19,

   82,
    OPC_CheckPredicate, 16,
    OPC_CheckPredicate, 25,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VREV32d16),
                    MVT::f64, 3, 8, 9, 10,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv4i32),
                    MVT::v16i8, 3, 11, 12, 13,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 14, 15,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv2i64),
                    MVT::v2i64, 3, 16, 17, 18,
    OPC_CompleteMatch, 1, 19,

   82,
    OPC_CheckPredicate, 18,
    OPC_CheckPredicate, 25,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat7, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VREV32d16),
                    MVT::f64, 3, 8, 9, 10,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLsv4i32),
                    MVT::v16i8, 3, 11, 12, 13,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 14, 15,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLsv2i64),
                    MVT::v2i64, 3, 16, 17, 18,
    OPC_CompleteMatch, 1, 19,

   88,
    OPC_CheckPredicate, 15,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VREV16d8),
                    MVT::f64, 3, 8, 9, 10,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv8i16),
                    MVT::v16i8, 3, 11, 12, 13,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 14, 15,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv4i32),
                    MVT::v16i8, 3, 16, 17, 18,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 19, 20,
   88,
    OPC_CheckPredicate, 16,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VREV16d8),
                    MVT::f64, 3, 8, 9, 10,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv8i16),
                    MVT::v16i8, 3, 11, 12, 13,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 14, 15,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv4i32),
                    MVT::v16i8, 3, 16, 17, 18,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 19, 20,
   88,
    OPC_CheckPredicate, 18,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VREV16d8),
                    MVT::f64, 3, 8, 9, 10,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLsv8i16),
                    MVT::v16i8, 3, 11, 12, 13,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 14, 15,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLsv4i32),
                    MVT::v16i8, 3, 16, 17, 18,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 19, 20,
   90,
    OPC_CheckPredicate, 15,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv8i16),
                    MVT::v16i8, 3, 8, 9, 10,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 11, 12,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv4i32),
                    MVT::v16i8, 3, 13, 14, 15,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 16, 17,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv2i64),
                    MVT::v2i64, 3, 18, 19, 20,
    OPC_CompleteMatch, 1, 21,

   90,
    OPC_CheckPredicate, 16,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv8i16),
                    MVT::v16i8, 3, 8, 9, 10,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 11, 12,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv4i32),
                    MVT::v16i8, 3, 13, 14, 15,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 16, 17,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv2i64),
                    MVT::v2i64, 3, 18, 19, 20,
    OPC_CompleteMatch, 1, 21,

   90,
    OPC_CheckPredicate, 18,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate6,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLsv8i16),
                    MVT::v16i8, 3, 8, 9, 10,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 11, 12,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLsv4i32),
                    MVT::v16i8, 3, 13, 14, 15,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 16, 17,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLsv2i64),
                    MVT::v2i64, 3, 18, 19, 20,
    OPC_CompleteMatch, 1, 21,

   103,
    OPC_CheckPredicate, 15,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VREV16d8),
                    MVT::f64, 3, 8, 9, 10,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv8i16),
                    MVT::v16i8, 3, 11, 12, 13,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 14, 15,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv4i32),
                    MVT::v16i8, 3, 16, 17, 18,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 19, 20,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv2i64),
                    MVT::v2i64, 3, 21, 22, 23,
    OPC_CompleteMatch, 1, 24,

   103,
    OPC_CheckPredicate, 16,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VREV16d8),
                    MVT::f64, 3, 8, 9, 10,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv8i16),
                    MVT::v16i8, 3, 11, 12, 13,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 14, 15,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv4i32),
                    MVT::v16i8, 3, 16, 17, 18,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 19, 20,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLuv2i64),
                    MVT::v2i64, 3, 21, 22, 23,
    OPC_CompleteMatch, 1, 24,

   103,
    OPC_CheckPredicate, 18,
    OPC_CheckPredicate, 10,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat0, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f64, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 6, 2, 3, 4, 5, 6, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VREV16d8),
                    MVT::f64, 3, 8, 9, 10,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLsv8i16),
                    MVT::v16i8, 3, 11, 12, 13,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 14, 15,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLsv4i32),
                    MVT::v16i8, 3, 16, 17, 18,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 19, 20,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVLsv2i64),
                    MVT::v2i64, 3, 21, 22, 23,
    OPC_CompleteMatch, 1, 24,

   7|128,5,
    OPC_CheckPredicate, 17,
    OPC_Scope, 24,
     OPC_CheckPredicate, 105,
     OPC_CheckType, 22|128,1,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1q64), 0|OPFL_Chain|OPFL_MemRefs,
                     22|128,1, 4, 2, 3, 4, 5,
    24,
     OPC_CheckPredicate, 93,
     OPC_CheckType, 22|128,1,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1q32), 0|OPFL_Chain|OPFL_MemRefs,
                     22|128,1, 4, 2, 3, 4, 5,
    24,
     OPC_CheckPredicate, 57,
     OPC_CheckType, 22|128,1,
     OPC_CheckPatternPredicate6,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1q16), 0|OPFL_Chain|OPFL_MemRefs,
                     22|128,1, 4, 2, 3, 4, 5,
    100,
     OPC_CheckPredicate, 65,
     OPC_SwitchType , 45, 22|128,1,
      OPC_Scope, 19,
       OPC_CheckPatternPredicate6,
       OPC_CheckComplexPat0, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1q8), 0|OPFL_Chain|OPFL_MemRefs,
                       22|128,1, 4, 2, 3, 4, 5,
      22,
       OPC_CheckPatternPredicate7,
       OPC_CheckComplexPat5, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                       22|128,1, 5, 2, 3, 4, 5, 6,
      0,
     21, MVT::v8f16,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8f16, 5, 2, 3, 4, 5, 6,
     22, 4|128,1,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                      4|128,1, 5, 2, 3, 4, 5, 6,
     0,
    80,
     OPC_CheckPredicate, 57,
     OPC_SwitchType , 22, MVT::v8f16,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/14, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8f16, 5, 2, 3, 4, 5, 6,
     23, 4|128,1,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/14, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                      4|128,1, 5, 2, 3, 4, 5, 6,
     23, 22|128,1,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/14, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                      22|128,1, 5, 2, 3, 4, 5, 6,
     0,
    80,
     OPC_CheckPredicate, 39,
     OPC_SwitchType , 22, MVT::v8f16,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/15, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8f16, 5, 2, 3, 4, 5, 6,
     23, 4|128,1,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/15, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                      4|128,1, 5, 2, 3, 4, 5, 6,
     23, 22|128,1,
      OPC_CheckPatternPredicate7,
      OPC_CheckComplexPat, /*CP*/15, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                      22|128,1, 5, 2, 3, 4, 5, 6,
     0,
    27,
     OPC_CheckPredicate, 56,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate, 14,
     OPC_CheckComplexPat, /*CP*/14, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8f16, 5, 2, 3, 4, 5, 6,
    29,
     OPC_CheckPredicate, 39,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 14,
     OPC_CheckComplexPat, /*CP*/15, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                     4|128,1, 5, 2, 3, 4, 5, 6,
    40,
     OPC_CheckPredicate, 65,
     OPC_CheckType, 22|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::VLD1q8), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i8, 4, 2, 3, 4, 5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VREV64q8),
                     22|128,1, 3, 6, 7, 8,
     OPC_CompleteMatch, 1, 9,

    40,
     OPC_CheckPredicate, 57,
     OPC_CheckType, 22|128,1,
     OPC_CheckPatternPredicate, 8,
     OPC_CheckComplexPat0, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::VLD1q16), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i8, 4, 2, 3, 4, 5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VREV64q16),
                     22|128,1, 3, 6, 7, 8,
     OPC_CompleteMatch, 1, 9,

    70,
     OPC_CheckType, 22|128,1,
     OPC_Scope, 44,
      OPC_CheckPatternPredicate, 14,
      OPC_CheckComplexPat5, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i8, 5, 2, 3, 4, 5, 6,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::MVE_VREV64_8),
                      22|128,1, 5, 7, 8, 9, 10, 11,
     19,
      OPC_CheckPredicate, 93,
      OPC_CheckPatternPredicate, 34,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VLDMQIA), 0|OPFL_Chain|OPFL_MemRefs,
                      22|128,1, 3, 1, 2, 3,
     0,
    47,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 14,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i8, 5, 2, 3, 4, 5, 6,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::MVE_VREV32_8),
                     4|128,1, 5, 7, 8, 9, 10, 11,
    45,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate, 14,
     OPC_CheckComplexPat5, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i8, 5, 2, 3, 4, 5, 6,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::MVE_VREV16_8),
                     MVT::v8f16, 5, 7, 8, 9, 10, 11,
    0,
   0,
  0,
 96|128,28, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
  OPC_Scope, 80|128,11,
   OPC_RecordNode,
   OPC_Scope, 125|128,1,
    OPC_CheckChild1Integer, 60|128,32,
    OPC_Scope, 115,
     OPC_MoveChild2,
     OPC_Scope, 26,
      OPC_CheckAndImm, 127|128,1,
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3TypeI32,
      OPC_CheckPredicate, 31,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::STREXB),
                      MVT::i32, 4, 1, 3, 4, 5,
     27,
      OPC_CheckAndImm, 127|128,127|128,3,
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3TypeI32,
      OPC_CheckPredicate, 32,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::STREXH),
                      MVT::i32, 4, 1, 3, 4, 5,
     27,
      OPC_CheckAndImm, 127|128,1,
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3TypeI32,
      OPC_CheckPredicate, 31,
      OPC_CheckPatternPredicate, 42,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2STREXB),
                      MVT::i32, 4, 1, 3, 4, 5,
     28,
      OPC_CheckAndImm, 127|128,127|128,3,
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3TypeI32,
      OPC_CheckPredicate, 32,
      OPC_CheckPatternPredicate, 42,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2STREXH),
                      MVT::i32, 4, 1, 3, 4, 5,
     0,
    2|128,1,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI32,
     OPC_Scope, 22,
      OPC_CheckPredicate, 45,
      OPC_CheckPatternPredicate, 42,
      OPC_CheckComplexPat, /*CP*/41, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2STREX),
                      MVT::i32, 5, 1, 3, 4, 5, 6,
     19,
      OPC_CheckPredicate, 31,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::STREXB),
                      MVT::i32, 4, 1, 3, 4, 5,
     19,
      OPC_CheckPredicate, 32,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::STREXH),
                      MVT::i32, 4, 1, 3, 4, 5,
     19,
      OPC_CheckPredicate, 45,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::STREX),
                      MVT::i32, 4, 1, 3, 4, 5,
     20,
      OPC_CheckPredicate, 31,
      OPC_CheckPatternPredicate, 42,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2STREXB),
                      MVT::i32, 4, 1, 3, 4, 5,
     20,
      OPC_CheckPredicate, 32,
      OPC_CheckPatternPredicate, 42,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2STREXH),
                      MVT::i32, 4, 1, 3, 4, 5,
     0,
    0,
   126|128,1,
    OPC_CheckChild1Integer, 58|128,32,
    OPC_Scope, 115,
     OPC_MoveChild2,
     OPC_Scope, 26,
      OPC_CheckAndImm, 127|128,1,
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3TypeI32,
      OPC_CheckPredicate, 31,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::STLEXB),
                      MVT::i32, 4, 1, 3, 4, 5,
     27,
      OPC_CheckAndImm, 127|128,127|128,3,
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3TypeI32,
      OPC_CheckPredicate, 32,
      OPC_CheckPatternPredicate3,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::STLEXH),
                      MVT::i32, 4, 1, 3, 4, 5,
     27,
      OPC_CheckAndImm, 127|128,1,
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3TypeI32,
      OPC_CheckPredicate, 31,
      OPC_CheckPatternPredicate, 38,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2STLEXB),
                      MVT::i32, 4, 1, 3, 4, 5,
     28,
      OPC_CheckAndImm, 127|128,127|128,3,
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckChild3TypeI32,
      OPC_CheckPredicate, 32,
      OPC_CheckPatternPredicate, 38,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2STLEXH),
                      MVT::i32, 4, 1, 3, 4, 5,
     0,
    3|128,1,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckChild3TypeI32,
     OPC_Scope, 20,
      OPC_CheckPredicate, 31,
      OPC_CheckPatternPredicate, 61,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::STLEXB),
                      MVT::i32, 4, 1, 3, 4, 5,
     20,
      OPC_CheckPredicate, 32,
      OPC_CheckPatternPredicate, 61,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::STLEXH),
                      MVT::i32, 4, 1, 3, 4, 5,
     20,
      OPC_CheckPredicate, 45,
      OPC_CheckPatternPredicate, 61,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::STLEX),
                      MVT::i32, 4, 1, 3, 4, 5,
     20,
      OPC_CheckPredicate, 31,
      OPC_CheckPatternPredicate, 38,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2STLEXB),
                      MVT::i32, 4, 1, 3, 4, 5,
     20,
      OPC_CheckPredicate, 32,
      OPC_CheckPatternPredicate, 38,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2STLEXH),
                      MVT::i32, 4, 1, 3, 4, 5,
     20,
      OPC_CheckPredicate, 45,
      OPC_CheckPatternPredicate, 38,
      OPC_CheckComplexPat1, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2STLEX),
                      MVT::i32, 4, 1, 3, 4, 5,
     0,
    0,
   74,
    OPC_CheckChild1Integer, 35|128,29,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_Scope, 20,
     OPC_CheckPatternPredicate3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_EmitConvertToTarget5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::MRC),
                     MVT::i32, 7, 1, 6, 3, 4, 7, 8, 9,
    21,
     OPC_CheckPatternPredicate, 82,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_EmitConvertToTarget5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2MRC),
                     MVT::i32, 7, 1, 6, 3, 4, 7, 8, 9,
    0,
   69,
    OPC_CheckChild1Integer, 36|128,29,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveSibling3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveSibling4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveSibling5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveSibling6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate, 83,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_EmitConvertToTarget5,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::MRC2),
                     MVT::i32, 5, 1, 6, 3, 4, 7,
    21,
     OPC_CheckPatternPredicate, 82,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget2,
     OPC_EmitConvertToTarget5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2MRC2),
                     MVT::i32, 7, 1, 6, 3, 4, 7, 8, 9,
    0,
   126,
    OPC_CheckChild1Integer, 29|128,29,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_Scope, 21,
     OPC_CheckPredicate, 45,
     OPC_CheckPatternPredicate, 42,
     OPC_CheckComplexPat, /*CP*/41, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2LDREX),
                     MVT::i32, 4, 2, 3, 4, 5,
    18,
     OPC_CheckPredicate, 31,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::LDREXB),
                     MVT::i32, 3, 2, 3, 4,
    18,
     OPC_CheckPredicate, 32,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::LDREXH),
                     MVT::i32, 3, 2, 3, 4,
    18,
     OPC_CheckPredicate, 45,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::LDREX),
                     MVT::i32, 3, 2, 3, 4,
    19,
     OPC_CheckPredicate, 31,
     OPC_CheckPatternPredicate, 42,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2LDREXB),
                     MVT::i32, 3, 2, 3, 4,
    19,
     OPC_CheckPredicate, 32,
     OPC_CheckPatternPredicate, 42,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2LDREXH),
                     MVT::i32, 3, 2, 3, 4,
    0,
   127,
    OPC_CheckChild1Integer, 23|128,29,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_Scope, 19,
     OPC_CheckPredicate, 31,
     OPC_CheckPatternPredicate, 61,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::LDAEXB),
                     MVT::i32, 3, 2, 3, 4,
    19,
     OPC_CheckPredicate, 32,
     OPC_CheckPatternPredicate, 61,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::LDAEXH),
                     MVT::i32, 3, 2, 3, 4,
    19,
     OPC_CheckPredicate, 45,
     OPC_CheckPatternPredicate, 61,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::LDAEX),
                     MVT::i32, 3, 2, 3, 4,
    19,
     OPC_CheckPredicate, 31,
     OPC_CheckPatternPredicate, 38,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2LDAEXB),
                     MVT::i32, 3, 2, 3, 4,
    19,
     OPC_CheckPredicate, 32,
     OPC_CheckPatternPredicate, 38,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2LDAEXH),
                     MVT::i32, 3, 2, 3, 4,
    19,
     OPC_CheckPredicate, 45,
     OPC_CheckPatternPredicate, 38,
     OPC_CheckComplexPat1, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2LDAEX),
                     MVT::i32, 3, 2, 3, 4,
    0,
   18,
    OPC_CheckChild1Integer, 48|128,32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::SPACE),
                    MVT::i32, 2, 1, 2,
   40,
    OPC_CheckChild1Integer, 16|128,32,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::SEL),
                     MVT::i32, 4, 1, 2, 3, 4,
    15,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2SEL),
                     MVT::i32, 4, 1, 2, 3, 4,
    0,
   39,
    OPC_CheckChild1Integer, 15|128,32,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::SASX),
                     MVT::i32, 4, 1, 2, 3, 4,
    15,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2SASX),
                     MVT::i32, 4, 1, 2, 3, 4,
    0,
   39,
    OPC_CheckChild1Integer, 13|128,32,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::SADD16),
                     MVT::i32, 4, 1, 2, 3, 4,
    15,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2SADD16),
                     MVT::i32, 4, 1, 2, 3, 4,
    0,
   39,
    OPC_CheckChild1Integer, 14|128,32,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::SADD8),
                     MVT::i32, 4, 1, 2, 3, 4,
    15,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2SADD8),
                     MVT::i32, 4, 1, 2, 3, 4,
    0,
   39,
    OPC_CheckChild1Integer, 51|128,32,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::SSAX),
                     MVT::i32, 4, 1, 2, 3, 4,
    15,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2SSAX),
                     MVT::i32, 4, 1, 2, 3, 4,
    0,
   39,
    OPC_CheckChild1Integer, 52|128,32,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::SSUB16),
                     MVT::i32, 4, 1, 2, 3, 4,
    15,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2SSUB16),
                     MVT::i32, 4, 1, 2, 3, 4,
    0,
   39,
    OPC_CheckChild1Integer, 53|128,32,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::SSUB8),
                     MVT::i32, 4, 1, 2, 3, 4,
    15,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2SSUB8),
                     MVT::i32, 4, 1, 2, 3, 4,
    0,
   39,
    OPC_CheckChild1Integer, 66|128,32,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::UASX),
                     MVT::i32, 4, 1, 2, 3, 4,
    15,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2UASX),
                     MVT::i32, 4, 1, 2, 3, 4,
    0,
   39,
    OPC_CheckChild1Integer, 64|128,32,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::UADD16),
                     MVT::i32, 4, 1, 2, 3, 4,
    15,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2UADD16),
                     MVT::i32, 4, 1, 2, 3, 4,
    0,
   39,
    OPC_CheckChild1Integer, 65|128,32,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::UADD8),
                     MVT::i32, 4, 1, 2, 3, 4,
    15,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2UADD8),
                     MVT::i32, 4, 1, 2, 3, 4,
    0,
   39,
    OPC_CheckChild1Integer, 84|128,32,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::USAX),
                     MVT::i32, 4, 1, 2, 3, 4,
    15,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2USAX),
                     MVT::i32, 4, 1, 2, 3, 4,
    0,
   39,
    OPC_CheckChild1Integer, 85|128,32,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::USUB16),
                     MVT::i32, 4, 1, 2, 3, 4,
    15,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2USUB16),
                     MVT::i32, 4, 1, 2, 3, 4,
    0,
   39,
    OPC_CheckChild1Integer, 86|128,32,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::USUB8),
                     MVT::i32, 4, 1, 2, 3, 4,
    15,
     OPC_CheckPatternPredicate5,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2USUB8),
                     MVT::i32, 4, 1, 2, 3, 4,
    0,
   15,
    OPC_CheckChild1Integer, 102|128,2,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 66,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2DoLoopStart),
                    MVT::i32, 1, 1,
   17,
    OPC_CheckChild1Integer, 19|128,29,
    OPC_CheckPatternPredicate, 46,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMRS),
                    MVT::i32, 2, 1, 2,
   0,
  10|128,17,
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_Scope, 70|128,6,
    OPC_CheckChild1Integer, 38|128,30,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_RecordChild3,
    OPC_Scope, 58,
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_CheckChild4Integer, 8,
     OPC_MoveChild5,
     OPC_CheckInteger, 0,
     OPC_MoveSibling6,
     OPC_Scope, 23,
      OPC_CheckInteger, 1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU8_rq), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i8, 5, 1, 2, 3, 4, 5,
     23,
      OPC_CheckInteger, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU8_rq), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i8, 5, 1, 2, 3, 4, 5,
     0,
    8|128,2,
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_Scope, 56,
      OPC_CheckChild4Integer, 8,
      OPC_MoveChild5,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 23,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU16_rq), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v8i16, 5, 1, 2, 3, 4, 5,
      23,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBS16_rq), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v8i16, 5, 1, 2, 3, 4, 5,
      0,
     73|128,1,
      OPC_CheckChild4Integer, 16,
      OPC_MoveChild5,
      OPC_Scope, 97,
       OPC_CheckInteger, 0,
       OPC_MoveSibling6,
       OPC_Scope, 45,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_SwitchType , 18, MVT::v8i16,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::v8i16, 5, 1, 2, 3, 4, 5,
        18, MVT::v8f16,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::v8f16, 5, 1, 2, 3, 4, 5,
        0,
       45,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_SwitchType , 18, MVT::v8i16,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::v8i16, 5, 1, 2, 3, 4, 5,
        18, MVT::v8f16,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::v8f16, 5, 1, 2, 3, 4, 5,
        0,
       0,
      97,
       OPC_CheckInteger, 1,
       OPC_MoveSibling6,
       OPC_Scope, 45,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_SwitchType , 18, MVT::v8i16,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16_rq), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::v8i16, 5, 1, 2, 3, 4, 5,
        18, MVT::v8f16,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16_rq), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::v8f16, 5, 1, 2, 3, 4, 5,
        0,
       45,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_SwitchType , 18, MVT::v8i16,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16_rq), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::v8i16, 5, 1, 2, 3, 4, 5,
        18, MVT::v8f16,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16_rq), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::v8f16, 5, 1, 2, 3, 4, 5,
        0,
       0,
      0,
     0,
    2|128,3,
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_Scope, 56,
      OPC_CheckChild4Integer, 8,
      OPC_MoveChild5,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 23,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i32, 5, 1, 2, 3, 4, 5,
      23,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBS32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i32, 5, 1, 2, 3, 4, 5,
      0,
     113,
      OPC_CheckChild4Integer, 16,
      OPC_MoveChild5,
      OPC_Scope, 53,
       OPC_CheckInteger, 0,
       OPC_MoveSibling6,
       OPC_Scope, 23,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU32_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v4i32, 5, 1, 2, 3, 4, 5,
       23,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHS32_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v4i32, 5, 1, 2, 3, 4, 5,
       0,
      53,
       OPC_CheckInteger, 1,
       OPC_MoveSibling6,
       OPC_Scope, 23,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v4i32, 5, 1, 2, 3, 4, 5,
       23,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHS32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v4i32, 5, 1, 2, 3, 4, 5,
       0,
      0,
     81|128,1,
      OPC_CheckChild4Integer, 32,
      OPC_MoveChild5,
      OPC_Scope, 101,
       OPC_CheckInteger, 0,
       OPC_MoveSibling6,
       OPC_Scope, 47,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_SwitchType , 18, MVT::v4i32,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::v4i32, 5, 1, 2, 3, 4, 5,
        19, 4|128,1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                         4|128,1, 5, 1, 2, 3, 4, 5,
        0,
       47,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_SwitchType , 18, MVT::v4i32,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::v4i32, 5, 1, 2, 3, 4, 5,
        19, 4|128,1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                         4|128,1, 5, 1, 2, 3, 4, 5,
        0,
       0,
      101,
       OPC_CheckInteger, 2,
       OPC_MoveSibling6,
       OPC_Scope, 47,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_SwitchType , 18, MVT::v4i32,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::v4i32, 5, 1, 2, 3, 4, 5,
        19, 4|128,1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                         4|128,1, 5, 1, 2, 3, 4, 5,
        0,
       47,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_SwitchType , 18, MVT::v4i32,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::v4i32, 5, 1, 2, 3, 4, 5,
        19, 4|128,1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                         4|128,1, 5, 1, 2, 3, 4, 5,
        0,
       0,
      0,
     0,
    116,
     OPC_CheckChild3Type, MVT::v2i64,
     OPC_CheckChild4Integer, 64|128,0,
     OPC_MoveChild5,
     OPC_Scope, 53,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 23,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRDU64_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i64, 5, 1, 2, 3, 4, 5,
      23,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRDU64_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i64, 5, 1, 2, 3, 4, 5,
      0,
     53,
      OPC_CheckInteger, 3,
      OPC_MoveSibling6,
      OPC_Scope, 23,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRDU64_rq), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i64, 5, 1, 2, 3, 4, 5,
      23,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRDU64_rq), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i64, 5, 1, 2, 3, 4, 5,
      0,
     0,
    0,
   76|128,6,
    OPC_CheckChild1Integer, 39|128,30,
    OPC_RecordChild2,
    OPC_CheckChild2TypeI32,
    OPC_RecordChild3,
    OPC_Scope, 60,
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_CheckChild4Integer, 8,
     OPC_MoveChild5,
     OPC_CheckInteger, 0,
     OPC_MoveSibling6,
     OPC_Scope, 24,
      OPC_CheckInteger, 1,
      OPC_MoveParent,
      OPC_RecordChild7,
      OPC_CheckChild7Type, MVT::v16i1,
      OPC_CheckType, MVT::v16i8,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU8_rq), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i8, 5, 1, 2, 4, 3, 5,
     24,
      OPC_CheckInteger, 0,
      OPC_MoveParent,
      OPC_RecordChild7,
      OPC_CheckChild7Type, MVT::v16i1,
      OPC_CheckType, MVT::v16i8,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU8_rq), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v16i8, 5, 1, 2, 4, 3, 5,
     0,
    6|128,2,
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_Scope, 58,
      OPC_CheckChild4Integer, 8,
      OPC_MoveChild5,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 24,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU16_rq), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v8i16, 5, 1, 2, 4, 3, 5,
      24,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBS16_rq), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v8i16, 5, 1, 2, 4, 3, 5,
      0,
     69|128,1,
      OPC_CheckChild4Integer, 16,
      OPC_MoveChild5,
      OPC_Scope, 95,
       OPC_CheckInteger, 0,
       OPC_MoveSibling6,
       OPC_Scope, 44,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v8i1,
        OPC_SwitchType , 16, MVT::v8i16,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::v8i16, 5, 1, 2, 4, 3, 5,
        16, MVT::v8f16,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::v8f16, 5, 1, 2, 4, 3, 5,
        0,
       44,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v8i1,
        OPC_SwitchType , 16, MVT::v8i16,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::v8i16, 5, 1, 2, 4, 3, 5,
        16, MVT::v8f16,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::v8f16, 5, 1, 2, 4, 3, 5,
        0,
       0,
      95,
       OPC_CheckInteger, 1,
       OPC_MoveSibling6,
       OPC_Scope, 44,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v8i1,
        OPC_SwitchType , 16, MVT::v8i16,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16_rq), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::v8i16, 5, 1, 2, 4, 3, 5,
        16, MVT::v8f16,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16_rq), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::v8f16, 5, 1, 2, 4, 3, 5,
        0,
       44,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v8i1,
        OPC_SwitchType , 16, MVT::v8i16,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16_rq), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::v8i16, 5, 1, 2, 4, 3, 5,
        16, MVT::v8f16,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16_rq), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::v8f16, 5, 1, 2, 4, 3, 5,
        0,
       0,
      0,
     0,
    4|128,3,
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_Scope, 58,
      OPC_CheckChild4Integer, 8,
      OPC_MoveChild5,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 24,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i32, 5, 1, 2, 4, 3, 5,
      24,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBS32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4i32, 5, 1, 2, 4, 3, 5,
      0,
     117,
      OPC_CheckChild4Integer, 16,
      OPC_MoveChild5,
      OPC_Scope, 55,
       OPC_CheckInteger, 0,
       OPC_MoveSibling6,
       OPC_Scope, 24,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_CheckType, MVT::v4i32,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU32_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v4i32, 5, 1, 2, 4, 3, 5,
       24,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_CheckType, MVT::v4i32,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHS32_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v4i32, 5, 1, 2, 4, 3, 5,
       0,
      55,
       OPC_CheckInteger, 1,
       OPC_MoveSibling6,
       OPC_Scope, 24,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_CheckType, MVT::v4i32,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v4i32, 5, 1, 2, 4, 3, 5,
       24,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_CheckType, MVT::v4i32,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHS32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v4i32, 5, 1, 2, 4, 3, 5,
       0,
      0,
     77|128,1,
      OPC_CheckChild4Integer, 32,
      OPC_MoveChild5,
      OPC_Scope, 99,
       OPC_CheckInteger, 0,
       OPC_MoveSibling6,
       OPC_Scope, 46,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_SwitchType , 16, MVT::v4i32,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::v4i32, 5, 1, 2, 4, 3, 5,
        17, 4|128,1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                         4|128,1, 5, 1, 2, 4, 3, 5,
        0,
       46,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_SwitchType , 16, MVT::v4i32,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::v4i32, 5, 1, 2, 4, 3, 5,
        17, 4|128,1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                         4|128,1, 5, 1, 2, 4, 3, 5,
        0,
       0,
      99,
       OPC_CheckInteger, 2,
       OPC_MoveSibling6,
       OPC_Scope, 46,
        OPC_CheckInteger, 0,
        OPC_MoveParent,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_SwitchType , 16, MVT::v4i32,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::v4i32, 5, 1, 2, 4, 3, 5,
        17, 4|128,1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                         4|128,1, 5, 1, 2, 4, 3, 5,
        0,
       46,
        OPC_CheckInteger, 1,
        OPC_MoveParent,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_SwitchType , 16, MVT::v4i32,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                         MVT::v4i32, 5, 1, 2, 4, 3, 5,
        17, 4|128,1,
         OPC_EmitMergeInputChains1_0,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                         4|128,1, 5, 1, 2, 4, 3, 5,
        0,
       0,
      0,
     0,
    120,
     OPC_CheckChild3Type, MVT::v2i64,
     OPC_CheckChild4Integer, 64|128,0,
     OPC_MoveChild5,
     OPC_Scope, 55,
      OPC_CheckInteger, 0,
      OPC_MoveSibling6,
      OPC_Scope, 24,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v2i1,
       OPC_CheckType, MVT::v2i64,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRDU64_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i64, 5, 1, 2, 4, 3, 5,
      24,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v2i1,
       OPC_CheckType, MVT::v2i64,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRDU64_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i64, 5, 1, 2, 4, 3, 5,
      0,
     55,
      OPC_CheckInteger, 3,
      OPC_MoveSibling6,
      OPC_Scope, 24,
       OPC_CheckInteger, 0,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v2i1,
       OPC_CheckType, MVT::v2i64,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRDU64_rq), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i64, 5, 1, 2, 4, 3, 5,
      24,
       OPC_CheckInteger, 1,
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v2i1,
       OPC_CheckType, MVT::v2i64,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRDU64_rq), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v2i64, 5, 1, 2, 4, 3, 5,
      0,
     0,
    0,
   116,
    OPC_CheckChild1Integer, 34|128,30,
    OPC_RecordChild2,
    OPC_Scope, 54,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_SwitchType , 19, MVT::v4i32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32_qi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 5, 1, 3, 4, 5, 6,
     20, 4|128,1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32_qi), 0|OPFL_Chain|OPFL_MemRefs,
                      4|128,1, 5, 1, 3, 4, 5, 6,
     0,
    54,
     OPC_CheckChild2Type, MVT::v2i64,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_SwitchType , 19, MVT::v2i64,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRDU64_qi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i64, 5, 1, 3, 4, 5, 6,
     20, 22|128,1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRDU64_qi), 0|OPFL_Chain|OPFL_MemRefs,
                      22|128,1, 5, 1, 3, 4, 5, 6,
     0,
    0,
   114,
    OPC_CheckChild1Integer, 35|128,30,
    OPC_RecordChild2,
    OPC_Scope, 53,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_SwitchType , 17, MVT::v4i32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32_qi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 5, 1, 4, 5, 3, 6,
     18, 4|128,1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32_qi), 0|OPFL_Chain|OPFL_MemRefs,
                      4|128,1, 5, 1, 4, 5, 3, 6,
     0,
    53,
     OPC_CheckChild2Type, MVT::v2i64,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v2i1,
     OPC_SwitchType , 17, MVT::v2i64,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRDU64_qi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i64, 5, 1, 4, 5, 3, 6,
     18, 22|128,1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRDU64_qi), 0|OPFL_Chain|OPFL_MemRefs,
                      22|128,1, 5, 1, 4, 5, 3, 6,
     0,
    0,
   0|128,1,
    OPC_CheckChild1Integer, 118|128,30,
    OPC_RecordChild2,
    OPC_Scope, 60,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 22,
      OPC_CheckChild4Type, MVT::v4i32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRW32_qi_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 6, 3, 1, 4, 5, 6, 7,
     23,
      OPC_CheckChild4Type, 4|128,1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRW32_qi_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 6, 3, 1, 4, 5, 6, 7,
     0,
    60,
     OPC_CheckChild2Type, MVT::v2i64,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_CheckType, MVT::v2i64,
     OPC_Scope, 22,
      OPC_CheckChild4Type, MVT::v2i64,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRD64_qi_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i64, 6, 3, 1, 4, 5, 6, 7,
     23,
      OPC_CheckChild4Type, 22|128,1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRD64_qi_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i64, 6, 3, 1, 4, 5, 6, 7,
     0,
    0,
   4|128,1,
    OPC_CheckChild1Integer, 119|128,30,
    OPC_RecordChild2,
    OPC_Scope, 62,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 23,
      OPC_CheckChild4Type, MVT::v4i32,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRW32_qi_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 6, 3, 1, 5, 6, 4, 7,
     24,
      OPC_CheckChild4Type, 4|128,1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRW32_qi_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 6, 3, 1, 5, 6, 4, 7,
     0,
    62,
     OPC_CheckChild2Type, MVT::v2i64,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_CheckType, MVT::v2i64,
     OPC_Scope, 23,
      OPC_CheckChild4Type, MVT::v2i64,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v2i1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRD64_qi_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i64, 6, 3, 1, 5, 6, 4, 7,
     24,
      OPC_CheckChild4Type, 22|128,1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v2i1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRD64_qi_pre), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v2i64, 6, 3, 1, 5, 6, 4, 7,
     0,
    0,
   0,
  0,
 112, TARGET_VAL(ARMISD::BR_JT),
  OPC_RecordNode,
  OPC_Scope, 78,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 52, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate, 24,
    OPC_CheckPredicate, 17,
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetJumpTable),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_Scope, 16,
     OPC_CheckComplexPat, /*CP*/17, /*#*/2,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::BR_JTm_rs), 0|OPFL_Chain|OPFL_MemRefs,
                     4, 4, 5, 6, 3,
    15,
     OPC_CheckComplexPat, /*CP*/18, /*#*/2,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::BR_JTm_i12), 0|OPFL_Chain|OPFL_MemRefs,
                     3, 4, 5, 3,
    0,
   17, TARGET_VAL(ISD::ADD),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetJumpTable),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::BR_JTadd),
                    3, 1, 2, 3,
   0,
  29,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetJumpTable),
   OPC_MoveParent,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::BR_JTr),
                    2, 1, 2,
   9,
    OPC_CheckPatternPredicate, 12,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::tBR_JTr),
                    2, 1, 2,
   0,
  0,
 23|128,14, TARGET_VAL(ISD::XOR),
  OPC_Scope, 18|128,1,
   OPC_RecordChild0,
   OPC_Scope, 66,
    OPC_CheckChild1Integer, 127,
    OPC_CheckTypeI32,
    OPC_Scope, 20,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat3, /*#*/0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVNsr),
                     MVT::i32, 6, 1, 2, 3, 4, 5, 6,
    19,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2MVNs),
                     MVT::i32, 5, 1, 2, 3, 4, 5,
    19,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat4, /*#*/0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVNsi),
                     MVT::i32, 5, 1, 2, 3, 4, 5,
    0,
   47,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_Scope, 20,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::EORrsr),
                     MVT::i32, 7, 0, 2, 3, 4, 5, 6, 7,
    20,
     OPC_CheckComplexPat3, /*#*/0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::EORrsr),
                     MVT::i32, 7, 1, 2, 3, 4, 5, 6, 7,
    0,
   27,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 127,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2MVNi),
                    MVT::i32, 4, 1, 2, 3, 4,
   0,
  28,
   OPC_CheckChild0Integer, 127,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 13,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate4,
   OPC_EmitConvertToTarget0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2MVNi),
                   MVT::i32, 4, 1, 2, 3, 4,
  92|128,2,
   OPC_RecordChild0,
   OPC_Scope, 88,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_Scope, 20,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::EORrsi),
                     MVT::i32, 6, 0, 2, 3, 4, 5, 6,
    20,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2EORrs),
                     MVT::i32, 6, 0, 2, 3, 4, 5, 6,
    20,
     OPC_CheckPatternPredicate3,
     OPC_CheckComplexPat4, /*#*/0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::EORrsi),
                     MVT::i32, 6, 1, 2, 3, 4, 5, 6,
    20,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2EORrs),
                     MVT::i32, 6, 1, 2, 3, 4, 5, 6,
    0,
   57,
    OPC_CheckChild1Integer, 127,
    OPC_CheckTypeI32,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2MVNr),
                     MVT::i32, 4, 0, 1, 2, 3,
    16,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVNr),
                     MVT::i32, 4, 0, 1, 2, 3,
    17,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitRegisterI32, ARM::CPSR,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::tMVN),
                     MVT::i32, 4, 1, 0, 2, 3,
    0,
   115,
    OPC_RecordChild1,
    OPC_Scope, 52,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 22,
      OPC_CheckPredicate, 20,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate3,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::EORri),
                      MVT::i32, 5, 0, 2, 3, 4, 5,
     22,
      OPC_CheckPredicate, 13,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate4,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2EORri),
                      MVT::i32, 5, 0, 2, 3, 4, 5,
     0,
    58,
     OPC_CheckTypeI32,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate3,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::EORrr),
                      MVT::i32, 5, 0, 1, 2, 3, 4,
     18,
      OPC_CheckPatternPredicate, 12,
      OPC_EmitRegisterI32, ARM::CPSR,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::tEOR),
                      MVT::i32, 5, 2, 0, 1, 3, 4,
     17,
      OPC_CheckPatternPredicate4,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2EORrr),
                      MVT::i32, 5, 0, 1, 2, 3, 4,
     0,
    0,
   81,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_Scope, 36,
     OPC_CheckChild0Type, MVT::v16i1,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VEOR),
                     MVT::v16i8, 6, 0, 2, 3, 1, 4, 0,
    36,
     OPC_CheckChild0Type, MVT::v8i1,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VEOR),
                     MVT::v8i16, 6, 0, 2, 3, 1, 4, 0,
    0,
   0,
  83,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
   OPC_RecordChild0,
   OPC_Scope, 37,
    OPC_CheckChild0Type, MVT::v16i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 0,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VEOR),
                    MVT::v16i8, 6, 2, 1, 3, 0, 4, 2,
   37,
    OPC_CheckChild0Type, MVT::v8i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 0,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VEOR),
                    MVT::v8i16, 6, 2, 1, 3, 0, 4, 2,
   0,
  102|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 61|128,1, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_SwitchType , 49, MVT::v8i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 13, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMVNd),
                      MVT::v2i32, 3, 0, 1, 2,
     13, MVT::v1i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMVNd),
                      MVT::v1i64, 3, 0, 1, 2,
     13, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMVNd),
                      MVT::v4i16, 3, 0, 1, 2,
     0,
    127, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 39, MVT::v4i32,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMVNq),
                       MVT::v4i32, 3, 0, 1, 2,
      22,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMVN),
                       MVT::v4i32, 5, 0, 1, 2, 3, 4,
      0,
     39, MVT::v2i64,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMVNq),
                       MVT::v2i64, 3, 0, 1, 2,
      22,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMVN),
                       MVT::v2i64, 5, 0, 1, 2, 3, 4,
      0,
     39, MVT::v8i16,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMVNq),
                       MVT::v8i16, 3, 0, 1, 2,
      22,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMVN),
                       MVT::v8i16, 5, 0, 1, 2, 3, 4,
      0,
     0,
    0,
   30, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VEOR),
                    MVT::v4i32, 6, 0, 2, 3, 1, 4, 0,
   0,
  105|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 64|128,1, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_SwitchType , 50, MVT::v8i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 13, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMVNd),
                      MVT::v2i32, 3, 0, 1, 2,
     13, MVT::v1i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMVNd),
                      MVT::v1i64, 3, 0, 1, 2,
     13, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMVNd),
                      MVT::v4i16, 3, 0, 1, 2,
     0,
    0|128,1, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 39, MVT::v4i32,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMVNq),
                       MVT::v4i32, 3, 0, 1, 2,
      22,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMVN),
                       MVT::v4i32, 5, 0, 1, 2, 3, 4,
      0,
     39, MVT::v2i64,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMVNq),
                       MVT::v2i64, 3, 0, 1, 2,
      22,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMVN),
                       MVT::v2i64, 5, 0, 1, 2, 3, 4,
      0,
     39, MVT::v8i16,
      OPC_Scope, 13,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMVNq),
                       MVT::v8i16, 3, 0, 1, 2,
      22,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMVN),
                       MVT::v8i16, 5, 0, 1, 2, 3, 4,
      0,
     0,
    0,
   31, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VEOR),
                    MVT::v4i32, 6, 2, 1, 3, 0, 4, 2,
   0,
  24|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 62, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_MoveParent,
    OPC_SwitchType , 13, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMVNd),
                     MVT::v8i8, 3, 0, 1, 2,
    39, MVT::v16i8,
     OPC_Scope, 13,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMVNq),
                      MVT::v16i8, 3, 0, 1, 2,
     22,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMVN),
                      MVT::v16i8, 5, 0, 1, 2, 3, 4,
     0,
    0,
   80, TARGET_VAL(ARMISD::PREDICATE_CAST),
    OPC_CheckChild0Integer, 127|128,127|128,3,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_SwitchType , 16, MVT::v2i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPNOT),
                     MVT::v2i1, 4, 0, 1, 2, 3,
    16, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPNOT),
                     MVT::v4i1, 4, 0, 1, 2, 3,
    16, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPNOT),
                     MVT::v8i1, 4, 0, 1, 2, 3,
    16, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPNOT),
                     MVT::v16i1, 4, 0, 1, 2, 3,
    0,
   0,
  25|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 63, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 127|128,29,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 13, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMVNd),
                     MVT::v8i8, 3, 0, 1, 2,
    39, MVT::v16i8,
     OPC_Scope, 13,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMVNq),
                      MVT::v16i8, 3, 0, 1, 2,
     22,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMVN),
                      MVT::v16i8, 5, 0, 1, 2, 3, 4,
     0,
    0,
   81, TARGET_VAL(ARMISD::PREDICATE_CAST),
    OPC_CheckChild0Integer, 127|128,127|128,3,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 16, MVT::v2i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPNOT),
                     MVT::v2i1, 4, 0, 1, 2, 3,
    16, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPNOT),
                     MVT::v4i1, 4, 0, 1, 2, 3,
    16, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPNOT),
                     MVT::v8i1, 4, 0, 1, 2, 3,
    16, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPNOT),
                     MVT::v16i1, 4, 0, 1, 2, 3,
    0,
   0,
  40|128,3,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 14, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VEORd),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   41, MVT::v4i32,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VEORq),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VEOR),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    0,
   14, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VEORd),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   14, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VEORd),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   14, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VEORd),
                    MVT::v1i64, 4, 0, 1, 2, 3,
   41, MVT::v16i8,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VEORq),
                     MVT::v16i8, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VEOR),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    0,
   41, MVT::v8i16,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VEORq),
                     MVT::v8i16, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VEOR),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    0,
   41, MVT::v2i64,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VEORq),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VEOR),
                     MVT::v2i64, 6, 0, 1, 2, 3, 4, 5,
    0,
   44, MVT::v16i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 2,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 1, 4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::t2EORrr),
                    MVT::i32, 5, 3, 5, 6, 7, 8,
    OPC_EmitIntegerI32, ARM::VCCRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v16i1, 2, 9, 10,
   44, MVT::v8i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 2,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 1, 4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::t2EORrr),
                    MVT::i32, 5, 3, 5, 6, 7, 8,
    OPC_EmitIntegerI32, ARM::VCCRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v8i1, 2, 9, 10,
   44, MVT::v4i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 2,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 1, 4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::t2EORrr),
                    MVT::i32, 5, 3, 5, 6, 7, 8,
    OPC_EmitIntegerI32, ARM::VCCRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v4i1, 2, 9, 10,
   44, MVT::v2i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 2,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 1, 4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::t2EORrr),
                    MVT::i32, 5, 3, 5, 6, 7, 8,
    OPC_EmitIntegerI32, ARM::VCCRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::v2i1, 2, 9, 10,
   0,
  0,
 113|128,2, TARGET_VAL(ISD::VECREDUCE_ADD),
  OPC_Scope, 47|128,2,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 98|128,1, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_Scope, 78,
     OPC_CheckChild0Type, MVT::v8i1,
     OPC_Scope, 39,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 0,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVu16),
                      MVT::i32, 5, 1, 2, 3, 0, 4,
     33,
      OPC_RecordChild1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 0,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu16no_acc),
                      MVT::i32, 4, 1, 2, 0, 3,
     0,
    78,
     OPC_CheckChild0Type, MVT::v16i1,
     OPC_Scope, 39,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 0,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVu8),
                      MVT::i32, 5, 1, 2, 3, 0, 4,
     33,
      OPC_RecordChild1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 0,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu8no_acc),
                      MVT::i32, 4, 1, 2, 0, 3,
     0,
    64,
     OPC_CheckChild0Type, MVT::v4i1,
     OPC_Scope, 32,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVu32),
                      MVT::i32, 5, 1, 2, 3, 0, 4,
     26,
      OPC_RecordChild1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu32no_acc),
                      MVT::i32, 4, 1, 2, 0, 3,
     0,
    0,
   67, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_SwitchType , 19, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVu32),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    19, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVu16),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    19, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVu8),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    0,
   0,
  61,
   OPC_RecordChild0,
   OPC_CheckTypeI32,
   OPC_Scope, 18,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu8no_acc),
                    MVT::i32, 4, 0, 1, 2, 3,
   18,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu16no_acc),
                    MVT::i32, 4, 0, 1, 2, 3,
   18,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu32no_acc),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  0,
 107|128,27, TARGET_VAL(ISD::MUL),
  OPC_Scope, 16|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 89, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 16,
    OPC_MoveSibling1,
    OPC_SwitchOpcode , 38, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_Scope, 15,
      OPC_CheckPatternPredicate, 19,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMULTT),
                      MVT::i32, 4, 0, 1, 2, 3,
     14,
      OPC_CheckPatternPredicate5,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMULTT),
                      MVT::i32, 4, 0, 1, 2, 3,
     0,
    39, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_Scope, 15,
      OPC_CheckPatternPredicate, 19,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMULTB),
                      MVT::i32, 4, 0, 1, 2, 3,
     14,
      OPC_CheckPatternPredicate5,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMULTB),
                      MVT::i32, 4, 0, 1, 2, 3,
     0,
    0,
   46, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 16,
    OPC_MoveParent,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate, 19,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMULBT),
                     MVT::i32, 4, 0, 1, 2, 3,
    14,
     OPC_CheckPatternPredicate5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMULBT),
                     MVT::i32, 4, 0, 1, 2, 3,
    0,
   0,
  28,
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckPredicate, 14,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 16,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 19,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMULBT),
                   MVT::i32, 4, 0, 1, 2, 3,
  28,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 16,
   OPC_MoveSibling1,
   OPC_RecordNode,
   OPC_CheckPredicate, 14,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 19,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMULTB),
                   MVT::i32, 4, 0, 1, 2, 3,
  27,
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckPredicate, 14,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 16,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMULBT),
                   MVT::i32, 4, 0, 1, 2, 3,
  80,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 23, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 16,
    OPC_MoveSibling1,
    OPC_RecordNode,
    OPC_CheckPredicate, 14,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMULTB),
                    MVT::i32, 4, 0, 1, 2, 3,
   48, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate, 19,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMULBB),
                     MVT::i32, 4, 0, 1, 2, 3,
    14,
     OPC_CheckPatternPredicate5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMULBB),
                     MVT::i32, 4, 0, 1, 2, 3,
    0,
   0,
  47,
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckPredicate, 14,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckValueType, MVT::i16,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate, 19,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMULBB),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMULBB),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  47,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckValueType, MVT::i16,
   OPC_MoveParent,
   OPC_MoveSibling1,
   OPC_RecordNode,
   OPC_CheckPredicate, 14,
   OPC_MoveParent,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate, 19,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMULBB),
                    MVT::i32, 4, 1, 0, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMULBB),
                    MVT::i32, 4, 1, 0, 2, 3,
   0,
  105,
   OPC_RecordChild0,
   OPC_Scope, 24,
    OPC_MoveChild0,
    OPC_CheckPredicate, 14,
    OPC_MoveSibling1,
    OPC_RecordNode,
    OPC_CheckPredicate, 14,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 19,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMULBB),
                    MVT::i32, 4, 0, 1, 2, 3,
   76,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MUL),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    18,
     OPC_CheckPatternPredicate, 117,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MULv5),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    18,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitRegisterI32, ARM::CPSR,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::tMUL),
                     MVT::i32, 5, 2, 0, 1, 3, 4,
    14,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2MUL),
                     MVT::i32, 4, 0, 1, 2, 3,
    0,
   0,
  47|128,13,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 111|128,7, TARGET_VAL(ISD::AND),
    OPC_Scope, 59|128,6,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 75|128,1, TARGET_VAL(ARMISD::VECTOR_REG_CAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
      OPC_RecordChild0,
      OPC_CheckType, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckPredicate5,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,25,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 43, TARGET_VAL(ARMISD::VECTOR_REG_CAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
       OPC_RecordChild0,
       OPC_CheckType, MVT::v8i16,
       OPC_MoveParent,
       OPC_CheckPredicate5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,25,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu16),
                       MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
      43, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
       OPC_RecordChild0,
       OPC_CheckType, MVT::v8i16,
       OPC_MoveParent,
       OPC_CheckPredicate5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,25,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu16),
                       MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
      84, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,25,
       OPC_MoveSibling1,
       OPC_SwitchOpcode , 36, TARGET_VAL(ARMISD::VECTOR_REG_CAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
        OPC_RecordChild0,
        OPC_CheckType, MVT::v8i16,
        OPC_MoveParent,
        OPC_CheckPredicate5,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v4i32, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu16),
                        MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
       36, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
        OPC_RecordChild0,
        OPC_CheckType, MVT::v8i16,
        OPC_MoveParent,
        OPC_CheckPredicate5,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v4i32, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu16),
                        MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
       0,
      0,
     75|128,1, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
      OPC_RecordChild0,
      OPC_CheckType, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckPredicate5,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,25,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 43, TARGET_VAL(ARMISD::VECTOR_REG_CAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
       OPC_RecordChild0,
       OPC_CheckType, MVT::v8i16,
       OPC_MoveParent,
       OPC_CheckPredicate5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,25,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu16),
                       MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
      43, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
       OPC_RecordChild0,
       OPC_CheckType, MVT::v8i16,
       OPC_MoveParent,
       OPC_CheckPredicate5,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,25,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu16),
                       MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
      84, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 127|128,25,
       OPC_MoveSibling1,
       OPC_SwitchOpcode , 36, TARGET_VAL(ARMISD::VECTOR_REG_CAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
        OPC_RecordChild0,
        OPC_CheckType, MVT::v8i16,
        OPC_MoveParent,
        OPC_CheckPredicate5,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v4i32, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu16),
                        MVT::v4i32, 6, 1, 0, 2, 3, 4, 5,
       36, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
        OPC_RecordChild0,
        OPC_CheckType, MVT::v8i16,
        OPC_MoveParent,
        OPC_CheckPredicate5,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v4i32, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu16),
                        MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
       0,
      0,
     22|128,3, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,25,
      OPC_MoveSibling1,
      OPC_SwitchOpcode , 68|128,1, TARGET_VAL(ARMISD::VECTOR_REG_CAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
       OPC_RecordChild0,
       OPC_CheckType, MVT::v8i16,
       OPC_MoveParent,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_MoveChild0,
       OPC_SwitchOpcode , 43, TARGET_VAL(ARMISD::VECTOR_REG_CAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
        OPC_RecordChild0,
        OPC_CheckType, MVT::v8i16,
        OPC_MoveParent,
        OPC_CheckPredicate5,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,25,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v4i32, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu16),
                        MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
       84, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,25,
        OPC_MoveSibling1,
        OPC_SwitchOpcode , 36, TARGET_VAL(ARMISD::VECTOR_REG_CAST),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
         OPC_RecordChild0,
         OPC_CheckType, MVT::v8i16,
         OPC_MoveParent,
         OPC_CheckPredicate5,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v4i32, 0,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu16),
                         MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
        36, TARGET_VAL(ISD::BITCAST),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
         OPC_RecordChild0,
         OPC_CheckType, MVT::v8i16,
         OPC_MoveParent,
         OPC_CheckPredicate5,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v4i32, 0,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu16),
                         MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
        0,
       43, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
        OPC_RecordChild0,
        OPC_CheckType, MVT::v8i16,
        OPC_MoveParent,
        OPC_CheckPredicate5,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,25,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v4i32, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu16),
                        MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
       0,
      68|128,1, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
       OPC_RecordChild0,
       OPC_CheckType, MVT::v8i16,
       OPC_MoveParent,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_MoveSibling1,
       OPC_CheckOpcode, TARGET_VAL(ISD::AND),
       OPC_MoveChild0,
       OPC_SwitchOpcode , 43, TARGET_VAL(ARMISD::VECTOR_REG_CAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
        OPC_RecordChild0,
        OPC_CheckType, MVT::v8i16,
        OPC_MoveParent,
        OPC_CheckPredicate5,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,25,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v4i32, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu16),
                        MVT::v4i32, 6, 1, 0, 2, 3, 4, 5,
       84, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,25,
        OPC_MoveSibling1,
        OPC_SwitchOpcode , 36, TARGET_VAL(ARMISD::VECTOR_REG_CAST),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
         OPC_RecordChild0,
         OPC_CheckType, MVT::v8i16,
         OPC_MoveParent,
         OPC_CheckPredicate5,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v4i32, 0,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu16),
                         MVT::v4i32, 6, 1, 0, 2, 3, 4, 5,
        36, TARGET_VAL(ISD::BITCAST),
         OPC_MoveChild0,
         OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
         OPC_RecordChild0,
         OPC_CheckType, MVT::v8i16,
         OPC_MoveParent,
         OPC_CheckPredicate5,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckType, MVT::v4i32,
         OPC_CheckPatternPredicate0,
         OPC_EmitIntegerI32, 0,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitRegisterI32, 0 ,
         OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                         MVT::v4i32, 0,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu16),
                         MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
        0,
       43, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
        OPC_RecordChild0,
        OPC_CheckType, MVT::v8i16,
        OPC_MoveParent,
        OPC_CheckPredicate5,
        OPC_MoveSibling1,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,25,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 0,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitRegisterI32, 0 ,
        OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                        MVT::v4i32, 0,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu16),
                        MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
       0,
      0,
     0,
    87,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,25,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 35,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,25,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLBu16),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     35,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,25,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLBu16),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     0,
    87,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,25,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 35,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,25,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLBu16),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     35,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 127|128,25,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLBu16),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     0,
    0,
   4|128,2, TARGET_VAL(ARMISD::VBICIMM),
    OPC_Scope, 89|128,1,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 104, TARGET_VAL(ARMISD::VECTOR_REG_CAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV16),
      OPC_RecordChild0,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 127|128,21,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VBICIMM),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 39, TARGET_VAL(ARMISD::VECTOR_REG_CAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV16),
       OPC_RecordChild0,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 127|128,21,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu8),
                       MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
      39, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV16),
       OPC_RecordChild0,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 127|128,21,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu8),
                       MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
      0,
     104, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV16),
      OPC_RecordChild0,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckPredicate5,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 127|128,21,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VBICIMM),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 39, TARGET_VAL(ARMISD::VECTOR_REG_CAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV16),
       OPC_RecordChild0,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 127|128,21,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu8),
                       MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
      39, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV16),
       OPC_RecordChild0,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_CheckPredicate5,
       OPC_MoveParent,
       OPC_CheckChild1Integer, 127|128,21,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu8),
                       MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
      0,
     0,
    38,
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 127|128,21,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VBICIMM),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 127|128,21,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLBu8),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    0,
   45|128,3, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 81|128,1, TARGET_VAL(ARMISD::VECTOR_REG_CAST),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 100, TARGET_VAL(ARMISD::VREV32),
      OPC_RecordChild0,
      OPC_CheckType, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckPredicate5,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::v4i16,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 39, TARGET_VAL(ARMISD::VECTOR_REG_CAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
       OPC_RecordChild0,
       OPC_CheckType, MVT::v8i16,
       OPC_MoveParent,
       OPC_CheckPredicate5,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::v4i16,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTs16),
                       MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
      39, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
       OPC_RecordChild0,
       OPC_CheckType, MVT::v8i16,
       OPC_MoveParent,
       OPC_CheckPredicate5,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::v4i16,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTs16),
                       MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
      0,
     100, TARGET_VAL(ARMISD::VREV16),
      OPC_RecordChild0,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckPredicate5,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 39, TARGET_VAL(ARMISD::VECTOR_REG_CAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV16),
       OPC_RecordChild0,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_CheckPredicate5,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTs8),
                       MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
      39, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV16),
       OPC_RecordChild0,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_CheckPredicate5,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTs8),
                       MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
      0,
     0,
    81|128,1, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_SwitchOpcode , 100, TARGET_VAL(ARMISD::VREV32),
      OPC_RecordChild0,
      OPC_CheckType, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckPredicate5,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::v4i16,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 39, TARGET_VAL(ARMISD::VECTOR_REG_CAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
       OPC_RecordChild0,
       OPC_CheckType, MVT::v8i16,
       OPC_MoveParent,
       OPC_CheckPredicate5,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::v4i16,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTs16),
                       MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
      39, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
       OPC_RecordChild0,
       OPC_CheckType, MVT::v8i16,
       OPC_MoveParent,
       OPC_CheckPredicate5,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::v4i16,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTs16),
                       MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
      0,
     100, TARGET_VAL(ARMISD::VREV16),
      OPC_RecordChild0,
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckPredicate5,
      OPC_MoveSibling1,
      OPC_CheckValueType, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
      OPC_MoveChild0,
      OPC_SwitchOpcode , 39, TARGET_VAL(ARMISD::VECTOR_REG_CAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV16),
       OPC_RecordChild0,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_CheckPredicate5,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTs8),
                       MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
      39, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV16),
       OPC_RecordChild0,
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_CheckPredicate5,
       OPC_MoveSibling1,
       OPC_CheckValueType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 0,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                       MVT::v4i32, 0,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTs8),
                       MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
      0,
     0,
    0,
   0,
  0|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
   OPC_RecordChild0,
   OPC_Scope, 39,
    OPC_CheckChild0Type, MVT::v16i1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_i8),
                    MVT::v16i8, 6, 0, 2, 3, 1, 4, 0,
   39,
    OPC_CheckChild0Type, MVT::v8i1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_i16),
                    MVT::v8i16, 6, 0, 2, 3, 1, 4, 0,
   39,
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_i32),
                    MVT::v4i32, 6, 0, 2, 3, 1, 4, 0,
   0,
  2|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
   OPC_RecordChild0,
   OPC_Scope, 40,
    OPC_CheckChild0Type, MVT::v16i1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_i8),
                    MVT::v16i8, 6, 2, 1, 3, 0, 4, 2,
   40,
    OPC_CheckChild0Type, MVT::v8i1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_i16),
                    MVT::v8i16, 6, 2, 1, 3, 0, 4, 2,
   40,
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_i32),
                    MVT::v4i32, 6, 2, 1, 3, 0, 4, 2,
   0,
  113,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
   OPC_RecordChild0,
   OPC_Scope, 34,
    OPC_CheckChild0Type, MVT::v16i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULi8),
                    MVT::v16i8, 6, 0, 2, 3, 1, 4, 0,
   34,
    OPC_CheckChild0Type, MVT::v8i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULi16),
                    MVT::v8i16, 6, 0, 2, 3, 1, 4, 0,
   34,
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULi32),
                    MVT::v4i32, 6, 0, 2, 3, 1, 4, 0,
   0,
  115,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
   OPC_RecordChild0,
   OPC_Scope, 35,
    OPC_CheckChild0Type, MVT::v16i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULi8),
                    MVT::v16i8, 6, 2, 1, 3, 0, 4, 2,
   35,
    OPC_CheckChild0Type, MVT::v8i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULi16),
                    MVT::v8i16, 6, 2, 1, 3, 0, 4, 2,
   35,
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULi32),
                    MVT::v4i32, 6, 2, 1, 3, 0, 4, 2,
   0,
  104,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
   OPC_RecordChild0,
   OPC_Scope, 47,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 16, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslv4i16),
                     MVT::v4i16, 5, 0, 1, 3, 4, 5,
    16, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslv8i16),
                     MVT::v8i16, 5, 0, 1, 3, 4, 5,
    0,
   47,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 16, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslv2i32),
                     MVT::v2i32, 5, 0, 1, 3, 4, 5,
    16, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslv4i32),
                     MVT::v4i32, 5, 0, 1, 3, 4, 5,
    0,
   0,
  64|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 82, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_Scope, 38,
     OPC_CheckValueType, MVT::v4i16,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::v4i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLBs16),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    38,
     OPC_CheckValueType, MVT::v8i8,
     OPC_MoveParent,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::v8i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLBs8),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    0,
   101, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_Scope, 48,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 16, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslv4i16),
                      MVT::v4i16, 5, 2, 0, 3, 4, 5,
     16, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslv8i16),
                      MVT::v8i16, 5, 2, 0, 3, 4, 5,
     0,
    48,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_SwitchType , 16, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslv2i32),
                      MVT::v2i32, 5, 2, 0, 3, 4, 5,
     16, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslv4i32),
                      MVT::v4i32, 5, 2, 0, 3, 4, 5,
     0,
    0,
   0,
  92,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
   OPC_RecordChild0,
   OPC_Scope, 41,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 5, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 1, 4,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 6, 6,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslv8i16),
                    MVT::v8i16, 5, 0, 5, 7, 8, 9,
   41,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 7, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 1, 4,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 8, 6,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslv4i32),
                    MVT::v4i32, 5, 0, 5, 7, 8, 9,
   0,
  93,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
   OPC_RecordChild0,
   OPC_Scope, 42,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 5, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 4,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 6, 6,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslv8i16),
                    MVT::v8i16, 5, 2, 5, 7, 8, 9,
   42,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 7, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 0, 4,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 8, 6,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslv4i32),
                    MVT::v4i32, 5, 2, 5, 7, 8, 9,
   0,
  85,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_SwitchType , 23, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_i8),
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
   23, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_i16),
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
   23, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_i32),
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
   0,
  85,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_i8),
                    MVT::v16i8, 6, 1, 0, 2, 3, 4, 5,
   23, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_i16),
                    MVT::v8i16, 6, 1, 0, 2, 3, 4, 5,
   23, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_i32),
                    MVT::v4i32, 6, 1, 0, 2, 3, 4, 5,
   0,
  53|128,1,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 14, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   14, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   14, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   41, MVT::v16i8,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULv16i8),
                     MVT::v16i8, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULi8),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    0,
   41, MVT::v8i16,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULv8i16),
                     MVT::v8i16, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULi16),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    0,
   41, MVT::v4i32,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULv4i32),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULi32),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  0,
 80|128,8, TARGET_VAL(ARMISD::CMOV),
  OPC_Scope, 29,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat3, /*#*/1,
   OPC_EmitConvertToTarget2,
   OPC_EmitRegisterI32, ARM::CPSR,
   OPC_EmitCopyToReg3, ARM::CPSR,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::MOVCCsr),
                   MVT::i32, 6, 0, 4, 5, 6, 7, 8,
  29,
   OPC_CheckChild0Integer, 1,
   OPC_CheckChild1Integer, 0,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 29,
   OPC_EmitRegisterI32, ARM::ZR,
   OPC_EmitRegisterI32, ARM::ZR,
   OPC_EmitConvertToTarget0,
   OPC_EmitCopyToReg1, ARM::CPSR,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2CSINC),
                   MVT::i32, 3, 2, 3, 4,
  29,
   OPC_CheckChild0Integer, 127,
   OPC_CheckChild1Integer, 0,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 29,
   OPC_EmitRegisterI32, ARM::ZR,
   OPC_EmitRegisterI32, ARM::ZR,
   OPC_EmitConvertToTarget0,
   OPC_EmitCopyToReg1, ARM::CPSR,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2CSINV),
                   MVT::i32, 3, 2, 3, 4,
  66,
   OPC_CheckChild0Integer, 0,
   OPC_Scope, 30,
    OPC_CheckChild1Integer, 1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 29,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitConvertToTarget0,
    OPC_EmitNodeXForm, 15, 4,
    OPC_EmitCopyToReg1, ARM::CPSR,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2CSINC),
                    MVT::i32, 3, 2, 3, 5,
   30,
    OPC_CheckChild1Integer, 127,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 29,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitConvertToTarget0,
    OPC_EmitNodeXForm, 15, 4,
    OPC_EmitCopyToReg1, ARM::CPSR,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2CSINV),
                    MVT::i32, 3, 2, 3, 5,
   0,
  28,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat4, /*#*/1,
   OPC_EmitConvertToTarget2,
   OPC_EmitRegisterI32, ARM::CPSR,
   OPC_EmitCopyToReg3, ARM::CPSR,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::MOVCCsi),
                   MVT::i32, 5, 0, 4, 5, 6, 7,
  30,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 29,
   OPC_EmitConvertToTarget2,
   OPC_EmitCopyToReg3, ARM::CPSR,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2CSINC),
                   MVT::i32, 3, 1, 0, 4,
  32,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 1,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 29,
   OPC_EmitConvertToTarget2,
   OPC_EmitNodeXForm, 15, 4,
   OPC_EmitCopyToReg3, ARM::CPSR,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2CSINC),
                   MVT::i32, 3, 0, 1, 5,
  30,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 29,
   OPC_EmitConvertToTarget2,
   OPC_EmitCopyToReg3, ARM::CPSR,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2CSINV),
                   MVT::i32, 3, 1, 0, 4,
  32,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 127,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 29,
   OPC_EmitConvertToTarget2,
   OPC_EmitNodeXForm, 15, 4,
   OPC_EmitCopyToReg3, ARM::CPSR,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2CSINV),
                   MVT::i32, 3, 0, 1, 5,
  30,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
   OPC_CheckChild0Integer, 0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild3,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 29,
   OPC_EmitConvertToTarget2,
   OPC_EmitCopyToReg3, ARM::CPSR,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2CSNEG),
                   MVT::i32, 3, 1, 0, 4,
  115|128,5,
   OPC_RecordChild0,
   OPC_Scope, 59|128,1,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 27, TARGET_VAL(ISD::SUB),
     OPC_CheckChild0Integer, 0,
     OPC_RecordChild1,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 29,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 15, 4,
     OPC_EmitCopyToReg3, ARM::CPSR,
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2CSNEG),
                     MVT::i32, 3, 0, 1, 5,
    34, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget2,
     OPC_EmitConvertToTarget3,
     OPC_EmitRegisterI32, ARM::CPSR,
     OPC_EmitCopyToReg4, ARM::CPSR,
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2MOVCClsl),
                     MVT::i32, 5, 0, 1, 5, 6, 7,
    37, TARGET_VAL(ISD::SRL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 64,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 14, 5,
     OPC_EmitConvertToTarget3,
     OPC_EmitRegisterI32, ARM::CPSR,
     OPC_EmitCopyToReg4, ARM::CPSR,
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2MOVCClsr),
                     MVT::i32, 5, 0, 1, 6, 7, 8,
    37, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 64,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 14, 5,
     OPC_EmitConvertToTarget3,
     OPC_EmitRegisterI32, ARM::CPSR,
     OPC_EmitCopyToReg4, ARM::CPSR,
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2MOVCCasr),
                     MVT::i32, 5, 0, 1, 6, 7, 8,
    34, TARGET_VAL(ISD::ROTR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget2,
     OPC_EmitConvertToTarget3,
     OPC_EmitRegisterI32, ARM::CPSR,
     OPC_EmitCopyToReg4, ARM::CPSR,
     OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2MOVCCror),
                     MVT::i32, 5, 0, 1, 5, 6, 7,
    0,
   32,
    OPC_MoveChild0,
    OPC_CheckPredicate, 73,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 29,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 15, 4,
    OPC_EmitCopyToReg2, ARM::CPSR,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2CSINC),
                    MVT::i32, 3, 0, 3, 5,
   16|128,4,
    OPC_RecordChild1,
    OPC_Scope, 93|128,1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 27,
      OPC_CheckPredicate, 51,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate, 43,
      OPC_EmitConvertToTarget1,
      OPC_EmitConvertToTarget2,
      OPC_EmitRegisterI32, ARM::CPSR,
      OPC_EmitCopyToReg3, ARM::CPSR,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::MOVCCi16),
                      MVT::i32, 4, 0, 4, 5, 6,
     26,
      OPC_CheckPredicate, 20,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate3,
      OPC_EmitConvertToTarget1,
      OPC_EmitConvertToTarget2,
      OPC_EmitRegisterI32, ARM::CPSR,
      OPC_EmitCopyToReg3, ARM::CPSR,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::MOVCCi),
                      MVT::i32, 4, 0, 4, 5, 6,
     29,
      OPC_CheckPredicate, 63,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate3,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 9, 4,
      OPC_EmitConvertToTarget2,
      OPC_EmitRegisterI32, ARM::CPSR,
      OPC_EmitCopyToReg3, ARM::CPSR,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::MVNCCi),
                      MVT::i32, 4, 0, 5, 6, 7,
     26,
      OPC_CheckPredicate, 13,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate4,
      OPC_EmitConvertToTarget1,
      OPC_EmitConvertToTarget2,
      OPC_EmitRegisterI32, ARM::CPSR,
      OPC_EmitCopyToReg3, ARM::CPSR,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2MOVCCi),
                      MVT::i32, 4, 0, 4, 5, 6,
     26,
      OPC_CheckPredicate, 51,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate4,
      OPC_EmitConvertToTarget1,
      OPC_EmitConvertToTarget2,
      OPC_EmitRegisterI32, ARM::CPSR,
      OPC_EmitCopyToReg3, ARM::CPSR,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2MOVCCi16),
                      MVT::i32, 4, 0, 4, 5, 6,
     29,
      OPC_CheckPredicate, 55,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckTypeI32,
      OPC_CheckPatternPredicate4,
      OPC_EmitConvertToTarget1,
      OPC_EmitNodeXForm, 1, 4,
      OPC_EmitConvertToTarget2,
      OPC_EmitRegisterI32, ARM::CPSR,
      OPC_EmitCopyToReg3, ARM::CPSR,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2MVNCCi),
                      MVT::i32, 4, 0, 5, 6, 7,
     45,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_CheckTypeI32,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 43,
       OPC_EmitConvertToTarget1,
       OPC_EmitConvertToTarget2,
       OPC_EmitRegisterI32, ARM::CPSR,
       OPC_EmitCopyToReg3, ARM::CPSR,
       OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::MOVCCi32imm),
                       MVT::i32, 4, 0, 4, 5, 6,
      16,
       OPC_CheckPatternPredicate4,
       OPC_EmitConvertToTarget1,
       OPC_EmitConvertToTarget2,
       OPC_EmitRegisterI32, ARM::CPSR,
       OPC_EmitCopyToReg3, ARM::CPSR,
       OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2MOVCCi32imm),
                       MVT::i32, 4, 0, 4, 5, 6,
      0,
     0,
    57,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckTypeI32,
     OPC_Scope, 15,
      OPC_CheckPatternPredicate3,
      OPC_EmitConvertToTarget2,
      OPC_EmitRegisterI32, ARM::CPSR,
      OPC_EmitCopyToReg3, ARM::CPSR,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::MOVCCr),
                      MVT::i32, 4, 0, 1, 4, 5,
     15,
      OPC_CheckPatternPredicate4,
      OPC_EmitConvertToTarget2,
      OPC_EmitRegisterI32, ARM::CPSR,
      OPC_EmitCopyToReg3, ARM::CPSR,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2MOVCCr),
                      MVT::i32, 4, 0, 1, 4, 5,
     14,
      OPC_EmitConvertToTarget2,
      OPC_EmitRegisterI32, ARM::CPSR,
      OPC_EmitCopyToReg3, ARM::CPSR,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::tMOVCCr_pseudo),
                      MVT::i32, 4, 0, 1, 4, 5,
     0,
    44,
     OPC_CheckChild2Integer, 12,
     OPC_RecordChild3,
     OPC_SwitchType , 11, MVT::f16,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitCopyToReg2, ARM::CPSR,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::VSELGTH),
                      MVT::f16, 2, 1, 0,
     11, MVT::f32,
      OPC_CheckPatternPredicate, 16,
      OPC_EmitCopyToReg2, ARM::CPSR,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::VSELGTS),
                      MVT::f32, 2, 1, 0,
     11, MVT::f64,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitCopyToReg2, ARM::CPSR,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::VSELGTD),
                      MVT::f64, 2, 1, 0,
     0,
    44,
     OPC_CheckChild2Integer, 10,
     OPC_RecordChild3,
     OPC_SwitchType , 11, MVT::f16,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitCopyToReg2, ARM::CPSR,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::VSELGEH),
                      MVT::f16, 2, 1, 0,
     11, MVT::f32,
      OPC_CheckPatternPredicate, 16,
      OPC_EmitCopyToReg2, ARM::CPSR,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::VSELGES),
                      MVT::f32, 2, 1, 0,
     11, MVT::f64,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitCopyToReg2, ARM::CPSR,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::VSELGED),
                      MVT::f64, 2, 1, 0,
     0,
    44,
     OPC_CheckChild2Integer, 0,
     OPC_RecordChild3,
     OPC_SwitchType , 11, MVT::f16,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitCopyToReg2, ARM::CPSR,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::VSELEQH),
                      MVT::f16, 2, 1, 0,
     11, MVT::f32,
      OPC_CheckPatternPredicate, 16,
      OPC_EmitCopyToReg2, ARM::CPSR,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::VSELEQS),
                      MVT::f32, 2, 1, 0,
     11, MVT::f64,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitCopyToReg2, ARM::CPSR,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::VSELEQD),
                      MVT::f64, 2, 1, 0,
     0,
    44,
     OPC_CheckChild2Integer, 6,
     OPC_RecordChild3,
     OPC_SwitchType , 11, MVT::f16,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitCopyToReg2, ARM::CPSR,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::VSELVSH),
                      MVT::f16, 2, 1, 0,
     11, MVT::f32,
      OPC_CheckPatternPredicate, 16,
      OPC_EmitCopyToReg2, ARM::CPSR,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::VSELVSS),
                      MVT::f32, 2, 1, 0,
     11, MVT::f64,
      OPC_CheckPatternPredicate, 15,
      OPC_EmitCopyToReg2, ARM::CPSR,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::VSELVSD),
                      MVT::f64, 2, 1, 0,
     0,
    63,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_SwitchType , 16, MVT::f64,
      OPC_CheckPatternPredicate, 118,
      OPC_EmitConvertToTarget2,
      OPC_EmitRegisterI32, ARM::CPSR,
      OPC_EmitCopyToReg3, ARM::CPSR,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::VMOVDcc),
                      MVT::f64, 4, 0, 1, 4, 5,
     16, MVT::f32,
      OPC_CheckPatternPredicate, 46,
      OPC_EmitConvertToTarget2,
      OPC_EmitRegisterI32, ARM::CPSR,
      OPC_EmitCopyToReg3, ARM::CPSR,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::VMOVScc),
                      MVT::f32, 4, 0, 1, 4, 5,
     16, MVT::f16,
      OPC_CheckPatternPredicate, 46,
      OPC_EmitConvertToTarget2,
      OPC_EmitRegisterI32, ARM::CPSR,
      OPC_EmitCopyToReg3, ARM::CPSR,
      OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::VMOVHcc),
                      MVT::f16, 4, 0, 1, 4, 5,
     0,
    0,
   0,
  0,
 1|128,8, TARGET_VAL(ISD::ATOMIC_LOAD),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_CheckTypeI32,
  OPC_Scope, 22,
   OPC_CheckPredicate, 26,
   OPC_CheckPredicate2,
   OPC_CheckPredicate, 40,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat1, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::LDAB), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 3, 2, 3, 4,
  22,
   OPC_CheckPredicate, 27,
   OPC_CheckPredicate2,
   OPC_CheckPredicate, 40,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat1, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::LDAB), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 3, 2, 3, 4,
  22,
   OPC_CheckPredicate, 26,
   OPC_CheckPredicate3,
   OPC_CheckPredicate, 40,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat1, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::LDAH), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 3, 2, 3, 4,
  22,
   OPC_CheckPredicate, 27,
   OPC_CheckPredicate3,
   OPC_CheckPredicate, 40,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat1, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::LDAH), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 3, 2, 3, 4,
  23,
   OPC_CheckPredicate, 48,
   OPC_CheckPredicate, 33,
   OPC_CheckPredicate, 40,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat1, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::LDA), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 3, 2, 3, 4,
  23,
   OPC_CheckPredicate, 26,
   OPC_CheckPredicate2,
   OPC_CheckPredicate, 40,
   OPC_CheckPatternPredicate, 38,
   OPC_CheckComplexPat1, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDAB), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 3, 2, 3, 4,
  23,
   OPC_CheckPredicate, 27,
   OPC_CheckPredicate2,
   OPC_CheckPredicate, 40,
   OPC_CheckPatternPredicate, 38,
   OPC_CheckComplexPat1, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDAB), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 3, 2, 3, 4,
  23,
   OPC_CheckPredicate, 26,
   OPC_CheckPredicate3,
   OPC_CheckPredicate, 40,
   OPC_CheckPatternPredicate, 38,
   OPC_CheckComplexPat1, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDAH), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 3, 2, 3, 4,
  23,
   OPC_CheckPredicate, 27,
   OPC_CheckPredicate3,
   OPC_CheckPredicate, 40,
   OPC_CheckPatternPredicate, 38,
   OPC_CheckComplexPat1, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDAH), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 3, 2, 3, 4,
  24,
   OPC_CheckPredicate, 48,
   OPC_CheckPredicate, 33,
   OPC_CheckPredicate, 40,
   OPC_CheckPatternPredicate, 38,
   OPC_CheckComplexPat1, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDA), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 3, 2, 3, 4,
  23,
   OPC_CheckPredicate, 26,
   OPC_CheckPredicate2,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat, /*CP*/17, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRBrs), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 5, 2, 3, 4, 5, 6,
  23,
   OPC_CheckPredicate, 27,
   OPC_CheckPredicate2,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat, /*CP*/17, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRBrs), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 5, 2, 3, 4, 5, 6,
  23,
   OPC_CheckPredicate, 26,
   OPC_CheckPredicate3,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat, /*CP*/20, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRH), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 5, 2, 3, 4, 5, 6,
  23,
   OPC_CheckPredicate, 27,
   OPC_CheckPredicate3,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat, /*CP*/20, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRH), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 5, 2, 3, 4, 5, 6,
  24,
   OPC_CheckPredicate, 48,
   OPC_CheckPredicate, 33,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat, /*CP*/17, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRrs), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 5, 2, 3, 4, 5, 6,
  23,
   OPC_CheckPredicate, 26,
   OPC_CheckPredicate2,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat, /*CP*/11, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBs), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 5, 2, 3, 4, 5, 6,
  23,
   OPC_CheckPredicate, 27,
   OPC_CheckPredicate2,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat, /*CP*/11, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBs), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 5, 2, 3, 4, 5, 6,
  23,
   OPC_CheckPredicate, 26,
   OPC_CheckPredicate3,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat, /*CP*/11, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRHs), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 5, 2, 3, 4, 5, 6,
  23,
   OPC_CheckPredicate, 27,
   OPC_CheckPredicate3,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat, /*CP*/11, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRHs), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 5, 2, 3, 4, 5, 6,
  24,
   OPC_CheckPredicate, 48,
   OPC_CheckPredicate, 33,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat, /*CP*/11, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRs), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 5, 2, 3, 4, 5, 6,
  22,
   OPC_CheckPredicate, 26,
   OPC_CheckPredicate2,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat, /*CP*/18, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  22,
   OPC_CheckPredicate, 27,
   OPC_CheckPredicate2,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat, /*CP*/18, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  23,
   OPC_CheckPredicate, 48,
   OPC_CheckPredicate, 33,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat, /*CP*/18, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRi12), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  23,
   OPC_CheckPredicate, 26,
   OPC_CheckPredicate2,
   OPC_CheckPatternPredicate, 12,
   OPC_CheckComplexPat, /*CP*/23, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRBi), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  23,
   OPC_CheckPredicate, 27,
   OPC_CheckPredicate2,
   OPC_CheckPatternPredicate, 12,
   OPC_CheckComplexPat, /*CP*/23, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRBi), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  23,
   OPC_CheckPredicate, 26,
   OPC_CheckPredicate2,
   OPC_CheckPatternPredicate, 12,
   OPC_CheckComplexPat, /*CP*/13, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRBr), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  23,
   OPC_CheckPredicate, 27,
   OPC_CheckPredicate2,
   OPC_CheckPatternPredicate, 12,
   OPC_CheckComplexPat, /*CP*/13, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRBr), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  23,
   OPC_CheckPredicate, 26,
   OPC_CheckPredicate3,
   OPC_CheckPatternPredicate, 12,
   OPC_CheckComplexPat, /*CP*/22, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRHi), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  23,
   OPC_CheckPredicate, 27,
   OPC_CheckPredicate3,
   OPC_CheckPatternPredicate, 12,
   OPC_CheckComplexPat, /*CP*/22, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRHi), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  23,
   OPC_CheckPredicate, 26,
   OPC_CheckPredicate3,
   OPC_CheckPatternPredicate, 12,
   OPC_CheckComplexPat, /*CP*/13, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRHr), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  23,
   OPC_CheckPredicate, 27,
   OPC_CheckPredicate3,
   OPC_CheckPatternPredicate, 12,
   OPC_CheckComplexPat, /*CP*/13, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRHr), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  46,
   OPC_CheckPredicate, 48,
   OPC_CheckPredicate, 33,
   OPC_CheckPatternPredicate, 12,
   OPC_Scope, 18,
    OPC_CheckComplexPat, /*CP*/35, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRi), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5,
   18,
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRr), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5,
   0,
  22,
   OPC_CheckPredicate, 26,
   OPC_CheckPredicate2,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  22,
   OPC_CheckPredicate, 27,
   OPC_CheckPredicate2,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  22,
   OPC_CheckPredicate, 26,
   OPC_CheckPredicate2,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat, /*CP*/12, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBi8), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  22,
   OPC_CheckPredicate, 27,
   OPC_CheckPredicate2,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat, /*CP*/12, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBi8), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  22,
   OPC_CheckPredicate, 26,
   OPC_CheckPredicate3,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRHi12), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  22,
   OPC_CheckPredicate, 27,
   OPC_CheckPredicate3,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat, /*CP*/10, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRHi12), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  22,
   OPC_CheckPredicate, 26,
   OPC_CheckPredicate3,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat, /*CP*/12, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRHi8), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  22,
   OPC_CheckPredicate, 27,
   OPC_CheckPredicate3,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat, /*CP*/12, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRHi8), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5,
  45,
   OPC_CheckPredicate, 48,
   OPC_CheckPredicate, 33,
   OPC_CheckPatternPredicate4,
   OPC_Scope, 18,
    OPC_CheckComplexPat, /*CP*/10, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRi12), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5,
   18,
    OPC_CheckComplexPat, /*CP*/12, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRi8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5,
   0,
  0,
 67|128,4, TARGET_VAL(ISD::ATOMIC_STORE),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI32,
  OPC_Scope, 20,
   OPC_CheckPredicate2,
   OPC_CheckPredicate, 52,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat1, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo0, TARGET_VAL(ARM::STLB), 0|OPFL_Chain|OPFL_MemRefs,
                   4, 1, 3, 4, 5,
  20,
   OPC_CheckPredicate3,
   OPC_CheckPredicate, 52,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat1, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo0, TARGET_VAL(ARM::STLH), 0|OPFL_Chain|OPFL_MemRefs,
                   4, 1, 3, 4, 5,
  21,
   OPC_CheckPredicate, 33,
   OPC_CheckPredicate, 52,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat1, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo0, TARGET_VAL(ARM::STL), 0|OPFL_Chain|OPFL_MemRefs,
                   4, 1, 3, 4, 5,
  21,
   OPC_CheckPredicate2,
   OPC_CheckPredicate, 52,
   OPC_CheckPatternPredicate, 38,
   OPC_CheckComplexPat1, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STLB), 0|OPFL_Chain|OPFL_MemRefs,
                   4, 1, 3, 4, 5,
  21,
   OPC_CheckPredicate3,
   OPC_CheckPredicate, 52,
   OPC_CheckPatternPredicate, 38,
   OPC_CheckComplexPat1, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STLH), 0|OPFL_Chain|OPFL_MemRefs,
                   4, 1, 3, 4, 5,
  22,
   OPC_CheckPredicate, 33,
   OPC_CheckPredicate, 52,
   OPC_CheckPatternPredicate, 38,
   OPC_CheckComplexPat1, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STL), 0|OPFL_Chain|OPFL_MemRefs,
                   4, 1, 3, 4, 5,
  21,
   OPC_CheckPredicate2,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat, /*CP*/17, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo0, TARGET_VAL(ARM::STRBrs), 0|OPFL_Chain|OPFL_MemRefs,
                   6, 1, 3, 4, 5, 6, 7,
  21,
   OPC_CheckPredicate3,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat, /*CP*/20, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo0, TARGET_VAL(ARM::STRH), 0|OPFL_Chain|OPFL_MemRefs,
                   6, 1, 3, 4, 5, 6, 7,
  22,
   OPC_CheckPredicate, 33,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat, /*CP*/17, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo0, TARGET_VAL(ARM::STRrs), 0|OPFL_Chain|OPFL_MemRefs,
                   6, 1, 3, 4, 5, 6, 7,
  21,
   OPC_CheckPredicate2,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat, /*CP*/11, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRBs), 0|OPFL_Chain|OPFL_MemRefs,
                   6, 1, 3, 4, 5, 6, 7,
  21,
   OPC_CheckPredicate3,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat, /*CP*/11, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRHs), 0|OPFL_Chain|OPFL_MemRefs,
                   6, 1, 3, 4, 5, 6, 7,
  22,
   OPC_CheckPredicate, 33,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat, /*CP*/11, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRs), 0|OPFL_Chain|OPFL_MemRefs,
                   6, 1, 3, 4, 5, 6, 7,
  20,
   OPC_CheckPredicate2,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat, /*CP*/18, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo0, TARGET_VAL(ARM::STRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                   5, 1, 3, 4, 5, 6,
  21,
   OPC_CheckPredicate, 33,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat, /*CP*/18, /*#*/2,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo0, TARGET_VAL(ARM::STRi12), 0|OPFL_Chain|OPFL_MemRefs,
                   5, 1, 3, 4, 5, 6,
  43,
   OPC_CheckPredicate2,
   OPC_CheckPatternPredicate, 12,
   OPC_Scope, 18,
    OPC_CheckComplexPat, /*CP*/23, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::tSTRBi), 0|OPFL_Chain|OPFL_MemRefs,
                    5, 1, 3, 4, 5, 6,
   18,
    OPC_CheckComplexPat, /*CP*/13, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::tSTRBr), 0|OPFL_Chain|OPFL_MemRefs,
                    5, 1, 3, 4, 5, 6,
   0,
  43,
   OPC_CheckPredicate3,
   OPC_CheckPatternPredicate, 12,
   OPC_Scope, 18,
    OPC_CheckComplexPat, /*CP*/22, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::tSTRHi), 0|OPFL_Chain|OPFL_MemRefs,
                    5, 1, 3, 4, 5, 6,
   18,
    OPC_CheckComplexPat, /*CP*/13, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::tSTRHr), 0|OPFL_Chain|OPFL_MemRefs,
                    5, 1, 3, 4, 5, 6,
   0,
  44,
   OPC_CheckPredicate, 33,
   OPC_CheckPatternPredicate, 12,
   OPC_Scope, 18,
    OPC_CheckComplexPat, /*CP*/35, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::tSTRi), 0|OPFL_Chain|OPFL_MemRefs,
                    5, 1, 3, 4, 5, 6,
   18,
    OPC_CheckComplexPat, /*CP*/13, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::tSTRr), 0|OPFL_Chain|OPFL_MemRefs,
                    5, 1, 3, 4, 5, 6,
   0,
  42,
   OPC_CheckPredicate2,
   OPC_CheckPatternPredicate4,
   OPC_Scope, 18,
    OPC_CheckComplexPat, /*CP*/10, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                    5, 1, 3, 4, 5, 6,
   18,
    OPC_CheckComplexPat, /*CP*/12, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRBi8), 0|OPFL_Chain|OPFL_MemRefs,
                    5, 1, 3, 4, 5, 6,
   0,
  42,
   OPC_CheckPredicate3,
   OPC_CheckPatternPredicate4,
   OPC_Scope, 18,
    OPC_CheckComplexPat, /*CP*/10, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRHi12), 0|OPFL_Chain|OPFL_MemRefs,
                    5, 1, 3, 4, 5, 6,
   18,
    OPC_CheckComplexPat, /*CP*/12, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRHi8), 0|OPFL_Chain|OPFL_MemRefs,
                    5, 1, 3, 4, 5, 6,
   0,
  43,
   OPC_CheckPredicate, 33,
   OPC_CheckPatternPredicate4,
   OPC_Scope, 18,
    OPC_CheckComplexPat, /*CP*/10, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRi12), 0|OPFL_Chain|OPFL_MemRefs,
                    5, 1, 3, 4, 5, 6,
   18,
    OPC_CheckComplexPat, /*CP*/12, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRi8), 0|OPFL_Chain|OPFL_MemRefs,
                    5, 1, 3, 4, 5, 6,
   0,
  0,
 92|128,1, TARGET_VAL(ISD::ROTR),
  OPC_Scope, 23,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckChild1Integer, 16,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::REV16),
                   MVT::i32, 3, 0, 1, 2,
  23,
   OPC_RecordNode,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat, /*CP*/31, /*#*/0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MOVsr),
                   MVT::i32, 6, 1, 2, 3, 4, 5, 6,
  40,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckChild1Integer, 16,
   OPC_CheckTypeI32,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate, 50,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::tREV16),
                    MVT::i32, 3, 0, 1, 2,
   13,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2REV16),
                    MVT::i32, 3, 0, 1, 2,
   0,
  32,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 106,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate4,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2RORrr),
                   MVT::i32, 5, 0, 1, 2, 3, 4,
  22,
   OPC_RecordNode,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat, /*CP*/32, /*#*/0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MOVsi),
                   MVT::i32, 5, 1, 2, 3, 4, 5,
  72,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 26,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 66,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2RORri),
                    MVT::i32, 5, 0, 2, 3, 4, 5,
   40,
    OPC_CheckTypeI32,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitRegisterI32, ARM::CPSR,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::tROR),
                     MVT::i32, 5, 2, 0, 1, 3, 4,
    17,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2RORrr),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    0,
   0,
  0,
 88|128,1, TARGET_VAL(ISD::SRA),
  OPC_Scope, 23,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckChild1Integer, 16,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::REVSH),
                   MVT::i32, 3, 0, 1, 2,
  23,
   OPC_RecordNode,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat, /*CP*/31, /*#*/0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MOVsr),
                   MVT::i32, 6, 1, 2, 3, 4, 5, 6,
  40,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckChild1Integer, 16,
   OPC_CheckTypeI32,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate, 50,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::tREVSH),
                    MVT::i32, 3, 0, 1, 2,
   13,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2REVSH),
                    MVT::i32, 3, 0, 1, 2,
   0,
  22,
   OPC_RecordNode,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate3,
   OPC_CheckComplexPat, /*CP*/32, /*#*/0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MOVsi),
                   MVT::i32, 5, 1, 2, 3, 4, 5,
  101,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 55,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 64,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 22,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitRegisterI32, ARM::CPSR,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 14, 3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::tASRri),
                     MVT::i32, 5, 2, 0, 4, 5, 6,
    21,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 14, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ASRri),
                     MVT::i32, 5, 0, 3, 4, 5, 6,
    0,
   40,
    OPC_CheckTypeI32,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitRegisterI32, ARM::CPSR,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::tASRrr),
                     MVT::i32, 5, 2, 0, 1, 3, 4,
    17,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2ASRrr),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    0,
   0,
  0,
 97, TARGET_VAL(ARMISD::PIC_ADD),
  OPC_Scope, 56,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::Wrapper),
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstantPool),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckPredicate, 24,
   OPC_CheckPredicate, 17,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate, 12,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRpci_pic), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 3,
   11,
    OPC_CheckPatternPredicate4,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRpci_pic), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 1, 3,
   0,
  37,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::PICADD),
                    MVT::i32, 4, 0, 2, 3, 4,
   10,
    OPC_CheckPatternPredicate, 52,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::tPICADD),
                    MVT::i32, 2, 0, 2,
   0,
  0,
 117, TARGET_VAL(ARMISD::CSINC),
  OPC_Scope, 59,
   OPC_CheckChild0Integer, 0,
   OPC_Scope, 28,
    OPC_CheckChild1Integer, 0,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI32,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 29,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitConvertToTarget0,
    OPC_EmitCopyToReg1, ARM::CPSR,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2CSINC),
                    MVT::i32, 3, 2, 3, 4,
   25,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI32,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 29,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitConvertToTarget1,
    OPC_EmitCopyToReg2, ARM::CPSR,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2CSINC),
                    MVT::i32, 3, 3, 0, 4,
   0,
  54,
   OPC_RecordChild0,
   OPC_Scope, 26,
    OPC_CheckChild1Integer, 0,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI32,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 29,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitConvertToTarget1,
    OPC_EmitCopyToReg2, ARM::CPSR,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2CSINC),
                    MVT::i32, 3, 0, 3, 4,
   23,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI32,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 29,
    OPC_EmitConvertToTarget2,
    OPC_EmitCopyToReg3, ARM::CPSR,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2CSINC),
                    MVT::i32, 3, 0, 1, 4,
   0,
  0,
 117, TARGET_VAL(ARMISD::CSINV),
  OPC_Scope, 59,
   OPC_CheckChild0Integer, 0,
   OPC_Scope, 28,
    OPC_CheckChild1Integer, 0,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI32,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 29,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitConvertToTarget0,
    OPC_EmitCopyToReg1, ARM::CPSR,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2CSINV),
                    MVT::i32, 3, 2, 3, 4,
   25,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI32,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 29,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitConvertToTarget1,
    OPC_EmitCopyToReg2, ARM::CPSR,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2CSINV),
                    MVT::i32, 3, 3, 0, 4,
   0,
  54,
   OPC_RecordChild0,
   OPC_Scope, 26,
    OPC_CheckChild1Integer, 0,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI32,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 29,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitConvertToTarget1,
    OPC_EmitCopyToReg2, ARM::CPSR,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2CSINV),
                    MVT::i32, 3, 0, 3, 4,
   23,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI32,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 29,
    OPC_EmitConvertToTarget2,
    OPC_EmitCopyToReg3, ARM::CPSR,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2CSINV),
                    MVT::i32, 3, 0, 1, 4,
   0,
  0,
 117, TARGET_VAL(ARMISD::CSNEG),
  OPC_Scope, 59,
   OPC_CheckChild0Integer, 0,
   OPC_Scope, 28,
    OPC_CheckChild1Integer, 0,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI32,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 29,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitConvertToTarget0,
    OPC_EmitCopyToReg1, ARM::CPSR,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2CSNEG),
                    MVT::i32, 3, 2, 3, 4,
   25,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI32,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 29,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitConvertToTarget1,
    OPC_EmitCopyToReg2, ARM::CPSR,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2CSNEG),
                    MVT::i32, 3, 3, 0, 4,
   0,
  54,
   OPC_RecordChild0,
   OPC_Scope, 26,
    OPC_CheckChild1Integer, 0,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI32,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 29,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitConvertToTarget1,
    OPC_EmitCopyToReg2, ARM::CPSR,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2CSNEG),
                    MVT::i32, 3, 0, 3, 4,
   23,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI32,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 29,
    OPC_EmitConvertToTarget2,
    OPC_EmitCopyToReg3, ARM::CPSR,
    OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2CSNEG),
                    MVT::i32, 3, 0, 1, 4,
   0,
  0,
 96|128,5, TARGET_VAL(ISD::MSTORE),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_Scope, 96,
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_Scope, 29,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i1,
    OPC_CheckPredicate, 42,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat5, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 1, 4, 5, 6, 3, 7,
   59,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI32,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i1,
    OPC_Scope, 25,
     OPC_CheckPredicate, 58,
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/8, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_pre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 5, 6, 4, 7,
    25,
     OPC_CheckPredicate, 59,
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/8, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_post), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 5, 6, 4, 7,
    0,
   0,
  49|128,1,
   OPC_CheckChild1Type, MVT::v8i16,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_Scope, 58,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_Scope, 22,
     OPC_CheckPredicate, 43,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/14, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 1, 4, 5, 6, 3, 7,
    24,
     OPC_CheckPredicate, 94,
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/19, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRB16), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 1, 4, 5, 6, 3, 7,
    0,
   111,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI32,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_Scope, 25,
     OPC_CheckPredicate, 58,
     OPC_CheckPredicate, 43,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/9, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_pre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 5, 6, 4, 7,
    25,
     OPC_CheckPredicate, 59,
     OPC_CheckPredicate, 43,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/9, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_post), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 5, 6, 4, 7,
    25,
     OPC_CheckPredicate, 78,
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/8, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRB16_post), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 5, 6, 4, 7,
    25,
     OPC_CheckPredicate, 79,
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/8, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRB16_pre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 5, 6, 4, 7,
    0,
   0,
  97,
   OPC_CheckChild1Type, MVT::v8f16,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_Scope, 30,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckPredicate, 43,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/14, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 1, 4, 5, 6, 3, 7,
   59,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI32,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_Scope, 25,
     OPC_CheckPredicate, 58,
     OPC_CheckPredicate, 43,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/9, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_pre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 5, 6, 4, 7,
    25,
     OPC_CheckPredicate, 59,
     OPC_CheckPredicate, 43,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/9, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_post), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 5, 6, 4, 7,
    0,
   0,
  0|128,2,
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_Scope, 84,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_Scope, 22,
     OPC_CheckPredicate, 53,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/15, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 1, 4, 5, 6, 3, 7,
    50,
     OPC_CheckPredicate, 94,
     OPC_Scope, 22,
      OPC_CheckPredicate, 42,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/19, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRB32), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 1, 4, 5, 6, 3, 7,
     22,
      OPC_CheckPredicate, 43,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/27, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH32), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 1, 4, 5, 6, 3, 7,
     0,
    0,
   35|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI32,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_Scope, 25,
     OPC_CheckPredicate, 58,
     OPC_CheckPredicate, 53,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/16, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_pre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 5, 6, 4, 7,
    25,
     OPC_CheckPredicate, 59,
     OPC_CheckPredicate, 53,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/16, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_post), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 5, 6, 4, 7,
    25,
     OPC_CheckPredicate, 78,
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/8, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRB32_post), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 5, 6, 4, 7,
    25,
     OPC_CheckPredicate, 79,
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/8, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRB32_pre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 5, 6, 4, 7,
    25,
     OPC_CheckPredicate, 78,
     OPC_CheckPredicate, 43,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/9, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRH32_post), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 5, 6, 4, 7,
    25,
     OPC_CheckPredicate, 79,
     OPC_CheckPredicate, 43,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/9, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRH32_pre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 5, 6, 4, 7,
    0,
   0,
  98,
   OPC_CheckChild1Type, 4|128,1,
   OPC_RecordChild2,
   OPC_CheckChild2TypeI32,
   OPC_Scope, 30,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckPredicate, 53,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/15, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 1, 4, 5, 6, 3, 7,
   59,
    OPC_RecordChild3,
    OPC_CheckChild3TypeI32,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_Scope, 25,
     OPC_CheckPredicate, 58,
     OPC_CheckPredicate, 53,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/16, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_pre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 5, 6, 4, 7,
    25,
     OPC_CheckPredicate, 59,
     OPC_CheckPredicate, 53,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/16, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_post), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 5, 6, 4, 7,
    0,
   0,
  0,
 56, TARGET_VAL(ARMISD::BCC_i64),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_MoveParent,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_Scope, 22,
   OPC_CheckChild4Integer, 0,
   OPC_MoveChild5,
   OPC_CheckInteger, 0,
   OPC_MoveSibling6,
   OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::BCCZi64),
                   MVT::i32, 4, 5, 2, 3, 4,
  21,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_MoveChild6,
   OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::BCCi64),
                   MVT::i32, 6, 7, 2, 3, 4, 5, 6,
  0,
 71|128,20, TARGET_VAL(ISD::SUB),
  OPC_Scope, 7|128,1,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_Scope, 85,
    OPC_CheckPatternPredicate3,
    OPC_Scope, 20,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SUBrsr),
                     MVT::i32, 7, 0, 2, 3, 4, 5, 6, 7,
    20,
     OPC_CheckComplexPat3, /*#*/0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::RSBrsr),
                     MVT::i32, 7, 1, 2, 3, 4, 5, 6, 7,
    19,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SUBrsi),
                     MVT::i32, 6, 0, 2, 3, 4, 5, 6,
    19,
     OPC_CheckComplexPat4, /*#*/0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::RSBrsi),
                     MVT::i32, 6, 1, 2, 3, 4, 5, 6,
    0,
   43,
    OPC_CheckPatternPredicate4,
    OPC_Scope, 19,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SUBrs),
                     MVT::i32, 6, 0, 2, 3, 4, 5, 6,
    19,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2RSBrs),
                     MVT::i32, 6, 1, 2, 3, 4, 5, 6,
    0,
   0,
  21,
   OPC_CheckChild0Integer, 0,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 12,
   OPC_EmitRegisterI32, ARM::CPSR,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::tRSB),
                   MVT::i32, 4, 1, 0, 2, 3,
  63|128,3,
   OPC_RecordChild0,
   OPC_Scope, 27,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 20,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SUBri),
                    MVT::i32, 5, 0, 2, 3, 4, 5,
   27,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 20,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::RSBri),
                    MVT::i32, 5, 1, 2, 3, 4, 5,
   50,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 22,
     OPC_CheckPredicate, 13,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SUBri),
                     MVT::i32, 5, 0, 2, 3, 4, 5,
    19,
     OPC_CheckPredicate, 71,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SUBri12),
                     MVT::i32, 4, 0, 2, 3, 4,
    0,
   27,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2RSBri),
                    MVT::i32, 5, 1, 2, 3, 4, 5,
   44,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate, 119,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MLS),
                     MVT::i32, 5, 1, 2, 0, 3, 4,
    16,
     OPC_CheckPatternPredicate, 75,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2MLS),
                     MVT::i32, 5, 1, 2, 0, 3, 4,
    0,
   59,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SUBrr),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    18,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitRegisterI32, ARM::CPSR,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::tSUBrr),
                     MVT::i32, 5, 2, 0, 1, 3, 4,
    17,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SUBrr),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    0,
   74|128,1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_Scope, 79,
     OPC_CheckChild0Type, MVT::v16i1,
     OPC_Scope, 39,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 0,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_i8),
                      MVT::v16i8, 6, 0, 2, 3, 1, 4, 0,
     34,
      OPC_RecordChild1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 0,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBi8),
                      MVT::v16i8, 6, 0, 2, 3, 1, 4, 0,
     0,
    79,
     OPC_CheckChild0Type, MVT::v8i1,
     OPC_Scope, 39,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 0,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_i16),
                      MVT::v8i16, 6, 0, 2, 3, 1, 4, 0,
     34,
      OPC_RecordChild1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 0,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBi16),
                      MVT::v8i16, 6, 0, 2, 3, 1, 4, 0,
     0,
    34,
     OPC_CheckChild0Type, MVT::v4i1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_i32),
                     MVT::v4i32, 6, 0, 2, 3, 1, 4, 0,
    0,
   0,
  86,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 0,
   OPC_SwitchType , 35, MVT::v2i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 13, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNEGs8d),
                     MVT::v8i8, 3, 0, 1, 2,
    13, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNEGs16d),
                     MVT::v4i16, 3, 0, 1, 2,
    0,
   35, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 13, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNEGs8q),
                     MVT::v16i8, 3, 0, 1, 2,
    13, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNEGs16q),
                     MVT::v8i16, 3, 0, 1, 2,
    0,
   0,
  35,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v4i1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 0,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBi32),
                   MVT::v4i32, 6, 0, 2, 3, 1, 4, 0,
  65,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 0,
   OPC_CheckType, MVT::v4i32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 22, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VNEGs8),
                    MVT::v16i8, 5, 0, 1, 2, 3, 4,
   22, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VNEGs16),
                    MVT::v8i16, 5, 0, 1, 2, 3, 4,
   0,
  76|128,4,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 36|128,3, TARGET_VAL(ISD::MUL),
    OPC_Scope, 110,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_Scope, 50,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 17, MVT::v4i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSslv4i16),
                       MVT::v4i16, 6, 0, 1, 2, 4, 5, 6,
      17, MVT::v8i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSslv8i16),
                       MVT::v8i16, 6, 0, 1, 2, 4, 5, 6,
      0,
     50,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 17, MVT::v2i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSslv2i32),
                       MVT::v2i32, 6, 0, 1, 2, 4, 5, 6,
      17, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSslv4i32),
                       MVT::v4i32, 6, 0, 1, 2, 4, 5, 6,
      0,
     0,
    111,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_Scope, 51,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_SwitchType , 17, MVT::v4i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget2,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSslv4i16),
                       MVT::v4i16, 6, 0, 3, 1, 4, 5, 6,
      17, MVT::v8i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget2,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSslv8i16),
                       MVT::v8i16, 6, 0, 3, 1, 4, 5, 6,
      0,
     51,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_SwitchType , 17, MVT::v2i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget2,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSslv2i32),
                       MVT::v2i32, 6, 0, 3, 1, 4, 5, 6,
      17, MVT::v4i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget2,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSslv4i32),
                       MVT::v4i32, 6, 0, 3, 1, 4, 5, 6,
      0,
     0,
    96,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_Scope, 43,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 5, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 2, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 6, 7,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSslv8i16),
                      MVT::v8i16, 6, 0, 1, 6, 8, 9, 10,
     43,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 7, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 2, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 8, 7,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSslv4i32),
                      MVT::v4i32, 6, 0, 1, 6, 8, 9, 10,
     0,
    97,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_Scope, 44,
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 5, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 1, 5,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 6, 7,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSslv8i16),
                      MVT::v8i16, 6, 0, 3, 6, 8, 9, 10,
     44,
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 7, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v2i32, 2, 1, 5,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 8, 7,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSslv4i32),
                      MVT::v4i32, 6, 0, 3, 6, 8, 9, 10,
     0,
    0,
   77, TARGET_VAL(ARMISD::VMULLs),
    OPC_RecordChild0,
    OPC_Scope, 36,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSLslsv4i16),
                     MVT::v4i32, 6, 0, 1, 2, 4, 5, 6,
    36,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSLslsv2i32),
                     MVT::v2i64, 6, 0, 1, 2, 4, 5, 6,
    0,
   77, TARGET_VAL(ARMISD::VMULLu),
    OPC_RecordChild0,
    OPC_Scope, 36,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSLsluv4i16),
                     MVT::v4i32, 6, 0, 1, 2, 4, 5, 6,
    36,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSLsluv2i32),
                     MVT::v2i64, 6, 0, 1, 2, 4, 5, 6,
    0,
   0,
  97|128,3,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 62, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 13, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNEGs32d),
                     MVT::v2i32, 3, 0, 1, 2,
    39, MVT::v4i32,
     OPC_Scope, 13,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNEGs32q),
                      MVT::v4i32, 3, 0, 1, 2,
     22,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VNEGs32),
                      MVT::v4i32, 5, 0, 1, 2, 3, 4,
     0,
    0,
   84, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 26,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBLsv8i16),
                     MVT::v8i16, 4, 0, 1, 2, 3,
    26,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBLsv4i32),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    26,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBLsv2i64),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    0,
   31|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 51,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 20, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBLuv8i16),
                      MVT::v8i16, 4, 0, 1, 2, 3,
     20, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBLuv8i16),
                      MVT::v8i16, 4, 0, 1, 2, 3,
     0,
    51,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 20, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBLuv4i32),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     20, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBLuv4i32),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     0,
    51,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 20, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBLuv2i64),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     20, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBLuv2i64),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     0,
    0,
   31|128,1, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 51,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 20, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBLuv8i16),
                      MVT::v8i16, 4, 0, 1, 2, 3,
     20, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBLuv8i16),
                      MVT::v8i16, 4, 0, 1, 2, 3,
     0,
    51,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 20, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBLuv4i32),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     20, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBLuv4i32),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     0,
    51,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveSibling1,
     OPC_SwitchOpcode , 20, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBLuv2i64),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     20, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBLuv2i64),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     0,
    0,
   0,
  117|128,5,
   OPC_RecordChild0,
   OPC_Scope, 26|128,4,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 107, TARGET_VAL(ISD::MUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_SwitchType , 15, MVT::v8i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSv8i8),
                      MVT::v8i8, 5, 0, 1, 2, 3, 4,
     15, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSv4i16),
                      MVT::v4i16, 5, 0, 1, 2, 3, 4,
     15, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSv2i32),
                      MVT::v2i32, 5, 0, 1, 2, 3, 4,
     15, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSv16i8),
                      MVT::v16i8, 5, 0, 1, 2, 3, 4,
     15, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSv8i16),
                      MVT::v8i16, 5, 0, 1, 2, 3, 4,
     15, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSv4i32),
                      MVT::v4i32, 5, 0, 1, 2, 3, 4,
     0,
    69, TARGET_VAL(ARMISD::VMULLs),
     OPC_RecordChild0,
     OPC_Scope, 21,
      OPC_CheckChild0Type, MVT::v8i8,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSLsv8i16),
                      MVT::v8i16, 5, 0, 1, 2, 3, 4,
     21,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSLsv4i32),
                      MVT::v4i32, 5, 0, 1, 2, 3, 4,
     21,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSLsv2i64),
                      MVT::v2i64, 5, 0, 1, 2, 3, 4,
     0,
    69, TARGET_VAL(ARMISD::VMULLu),
     OPC_RecordChild0,
     OPC_Scope, 21,
      OPC_CheckChild0Type, MVT::v8i8,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSLuv8i16),
                      MVT::v8i16, 5, 0, 1, 2, 3, 4,
     21,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSLuv4i32),
                      MVT::v4i32, 5, 0, 1, 2, 3, 4,
     21,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSLuv2i64),
                      MVT::v2i64, 5, 0, 1, 2, 3, 4,
     0,
    63, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_Scope, 19,
      OPC_CheckChild0Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBWsv8i16),
                      MVT::v8i16, 4, 0, 1, 2, 3,
     19,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBWsv4i32),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     19,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBWsv2i64),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     0,
    63, TARGET_VAL(ISD::ZERO_EXTEND),
     OPC_RecordChild0,
     OPC_Scope, 19,
      OPC_CheckChild0Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBWuv8i16),
                      MVT::v8i16, 4, 0, 1, 2, 3,
     19,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBWuv4i32),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     19,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBWuv2i64),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     0,
    63, TARGET_VAL(ISD::ANY_EXTEND),
     OPC_RecordChild0,
     OPC_Scope, 19,
      OPC_CheckChild0Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBWuv8i16),
                      MVT::v8i16, 4, 0, 1, 2, 3,
     19,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBWuv4i32),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     19,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBWuv2i64),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     0,
    80, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_SwitchType , 23, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_i8),
                      MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
     23, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_i16),
                      MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
     23, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_i32),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     0,
    0,
   84|128,1,
    OPC_RecordChild1,
    OPC_SwitchType , 14, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBv8i8),
                     MVT::v8i8, 4, 0, 1, 2, 3,
    14, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBv4i16),
                     MVT::v4i16, 4, 0, 1, 2, 3,
    14, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBv2i32),
                     MVT::v2i32, 4, 0, 1, 2, 3,
    41, MVT::v16i8,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBv16i8),
                      MVT::v16i8, 4, 0, 1, 2, 3,
     23,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBi8),
                      MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
     0,
    41, MVT::v8i16,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBv8i16),
                      MVT::v8i16, 4, 0, 1, 2, 3,
     23,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBi16),
                      MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
     0,
    41, MVT::v4i32,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBv4i32),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     23,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBi32),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     0,
    14, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBv1i64),
                     MVT::v1i64, 4, 0, 1, 2, 3,
    14, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBv2i64),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    0,
   0,
  0,
 28|128,3, TARGET_VAL(ARMISD::ADDC),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 120,
   OPC_CheckTypeI32,
   OPC_Scope, 59,
    OPC_CheckPatternPredicate3,
    OPC_Scope, 18,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo2None, TARGET_VAL(ARM::ADDSrsr),
                     MVT::i32, MVT::i32, 6, 0, 2, 3, 4, 5, 6,
    18,
     OPC_CheckComplexPat3, /*#*/0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo2None, TARGET_VAL(ARM::ADDSrsr),
                     MVT::i32, MVT::i32, 6, 1, 2, 3, 4, 5, 6,
    17,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo2None, TARGET_VAL(ARM::ADDSrsi),
                     MVT::i32, MVT::i32, 5, 0, 2, 3, 4, 5,
    0,
   18,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo2None, TARGET_VAL(ARM::t2ADDSrs),
                    MVT::i32, MVT::i32, 5, 0, 2, 3, 4, 5,
   18,
    OPC_CheckPatternPredicate3,
    OPC_CheckComplexPat4, /*#*/0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo2None, TARGET_VAL(ARM::ADDSrsi),
                    MVT::i32, MVT::i32, 5, 1, 2, 3, 4, 5,
   18,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat6, /*#*/0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo2None, TARGET_VAL(ARM::t2ADDSrs),
                    MVT::i32, MVT::i32, 5, 1, 2, 3, 4, 5,
   0,
  96|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 23,
    OPC_CheckPredicate, 88,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 3, 2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo2None, TARGET_VAL(ARM::t2SUBSri),
                    MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
   20,
    OPC_CheckPredicate, 20,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo2None, TARGET_VAL(ARM::ADDSri),
                    MVT::i32, MVT::i32, 4, 0, 2, 3, 4,
   23,
    OPC_CheckPredicate, 61,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 3, 2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo2None, TARGET_VAL(ARM::SUBSri),
                    MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
   15,
    OPC_CheckPredicate, 28,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 49,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(ARM::tADDSi3),
                    MVT::i32, MVT::i32, 2, 0, 2,
   15,
    OPC_CheckPredicate, 47,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 49,
    OPC_EmitConvertToTarget1,
    OPC_MorphNodeTo2None, TARGET_VAL(ARM::tADDSi8),
                    MVT::i32, MVT::i32, 2, 0, 2,
   20,
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo2None, TARGET_VAL(ARM::t2ADDSri),
                    MVT::i32, MVT::i32, 4, 0, 2, 3, 4,
   23,
    OPC_CheckPredicate, 62,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 4, 2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo2None, TARGET_VAL(ARM::t2SUBSri),
                    MVT::i32, MVT::i32, 4, 0, 3, 4, 5,
   71,
    OPC_CheckPredicate, 72,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 32,
     OPC_CheckPatternPredicate, 43,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 3, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::MOVi16),
                     MVT::i32, 3, 3, 4, 5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo2None, TARGET_VAL(ARM::SUBSrr),
                     MVT::i32, MVT::i32, 4, 0, 6, 7, 8,
    31,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 3, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::t2MOVi16),
                     MVT::i32, 3, 3, 4, 5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo2None, TARGET_VAL(ARM::t2SUBSrr),
                     MVT::i32, MVT::i32, 4, 0, 6, 7, 8,
    0,
   0,
  60,
   OPC_CheckTypeI32,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo2None, TARGET_VAL(ARM::ADDSrr),
                    MVT::i32, MVT::i32, 4, 0, 1, 2, 3,
   10,
    OPC_CheckPatternPredicate, 49,
    OPC_MorphNodeTo2None, TARGET_VAL(ARM::tADDSrr),
                    MVT::i32, MVT::i32, 2, 0, 1,
   29,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_Scope, 10,
     OPC_MorphNodeTo2None, TARGET_VAL(ARM::t2ADDSrr),
                     MVT::i32, MVT::i32, 4, 0, 1, 2, 3,
    10,
     OPC_MorphNodeTo2None, TARGET_VAL(ARM::t2ADDSrr),
                     MVT::i32, MVT::i32, 4, 1, 0, 2, 3,
    0,
   0,
  0,
 76|128,2, TARGET_VAL(ARMISD::SUBC),
  OPC_Scope, 123,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_Scope, 77,
    OPC_CheckPatternPredicate3,
    OPC_Scope, 18,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo2None, TARGET_VAL(ARM::SUBSrsr),
                     MVT::i32, MVT::i32, 6, 0, 2, 3, 4, 5, 6,
    18,
     OPC_CheckComplexPat3, /*#*/0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo2None, TARGET_VAL(ARM::RSBSrsr),
                     MVT::i32, MVT::i32, 6, 1, 2, 3, 4, 5, 6,
    17,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo2None, TARGET_VAL(ARM::SUBSrsi),
                     MVT::i32, MVT::i32, 5, 0, 2, 3, 4, 5,
    17,
     OPC_CheckComplexPat4, /*#*/0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo2None, TARGET_VAL(ARM::RSBSrsi),
                     MVT::i32, MVT::i32, 5, 1, 2, 3, 4, 5,
    0,
   39,
    OPC_CheckPatternPredicate4,
    OPC_Scope, 17,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo2None, TARGET_VAL(ARM::t2SUBSrs),
                     MVT::i32, MVT::i32, 5, 0, 2, 3, 4, 5,
    17,
     OPC_CheckComplexPat6, /*#*/0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo2None, TARGET_VAL(ARM::t2RSBSrs),
                     MVT::i32, MVT::i32, 5, 1, 2, 3, 4, 5,
    0,
   0,
  13,
   OPC_CheckChild0Integer, 0,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 49,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::tRSBS),
                   MVT::i32, MVT::i32, 1, 0,
  62|128,1,
   OPC_RecordChild0,
   OPC_Scope, 25,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 20,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo2None, TARGET_VAL(ARM::SUBSri),
                    MVT::i32, MVT::i32, 4, 0, 2, 3, 4,
   25,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 20,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo2None, TARGET_VAL(ARM::RSBSri),
                    MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
   60,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 15,
     OPC_CheckPredicate, 28,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 49,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(ARM::tSUBSi3),
                     MVT::i32, MVT::i32, 2, 0, 2,
    15,
     OPC_CheckPredicate, 86,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 49,
     OPC_EmitConvertToTarget1,
     OPC_MorphNodeTo2None, TARGET_VAL(ARM::tSUBSi8),
                     MVT::i32, MVT::i32, 2, 0, 2,
    20,
     OPC_CheckPredicate, 13,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo2None, TARGET_VAL(ARM::t2SUBSri),
                     MVT::i32, MVT::i32, 4, 0, 2, 3, 4,
    0,
   25,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo2None, TARGET_VAL(ARM::t2RSBSri),
                    MVT::i32, MVT::i32, 4, 1, 2, 3, 4,
   47,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo2None, TARGET_VAL(ARM::SUBSrr),
                     MVT::i32, MVT::i32, 4, 0, 1, 2, 3,
    10,
     OPC_CheckPatternPredicate, 49,
     OPC_MorphNodeTo2None, TARGET_VAL(ARM::tSUBSrr),
                     MVT::i32, MVT::i32, 2, 0, 1,
    15,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo2None, TARGET_VAL(ARM::t2SUBSrr),
                     MVT::i32, MVT::i32, 4, 0, 1, 2, 3,
    0,
   0,
  0,
 123|128,2, TARGET_VAL(ARMISD::ADDE),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 79,
   OPC_RecordChild2,
   OPC_CheckTypeI32,
   OPC_Scope, 50,
    OPC_CheckPatternPredicate3,
    OPC_Scope, 23,
     OPC_CheckComplexPat3, /*#*/1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitCopyToReg2, ARM::CPSR,
     OPC_MorphNodeTo2GlueInput, TARGET_VAL(ARM::ADCrsr),
                     MVT::i32, MVT::i32, 7, 0, 3, 4, 5, 6, 7, 8,
    22,
     OPC_CheckComplexPat4, /*#*/1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitCopyToReg2, ARM::CPSR,
     OPC_MorphNodeTo2GlueInput, TARGET_VAL(ARM::ADCrsi),
                     MVT::i32, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
    0,
   23,
    OPC_CheckPatternPredicate4,
    OPC_CheckComplexPat6, /*#*/1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitCopyToReg2, ARM::CPSR,
    OPC_MorphNodeTo2GlueInput, TARGET_VAL(ARM::t2ADCrs),
                    MVT::i32, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
   0,
  105|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 29,
    OPC_CheckPredicate, 107,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 9, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitCopyToReg2, ARM::CPSR,
    OPC_MorphNodeTo2GlueInput, TARGET_VAL(ARM::t2SBCri),
                    MVT::i32, MVT::i32, 5, 0, 4, 5, 6, 7,
   26,
    OPC_CheckPredicate, 20,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitCopyToReg2, ARM::CPSR,
    OPC_MorphNodeTo2GlueInput, TARGET_VAL(ARM::ADCri),
                    MVT::i32, MVT::i32, 5, 0, 3, 4, 5, 6,
   29,
    OPC_CheckPredicate, 63,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 9, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitCopyToReg2, ARM::CPSR,
    OPC_MorphNodeTo2GlueInput, TARGET_VAL(ARM::SBCri),
                    MVT::i32, MVT::i32, 5, 0, 4, 5, 6, 7,
   26,
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitCopyToReg2, ARM::CPSR,
    OPC_MorphNodeTo2GlueInput, TARGET_VAL(ARM::t2ADCri),
                    MVT::i32, MVT::i32, 5, 0, 3, 4, 5, 6,
   29,
    OPC_CheckPredicate, 55,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 1, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitCopyToReg2, ARM::CPSR,
    OPC_MorphNodeTo2GlueInput, TARGET_VAL(ARM::t2SBCri),
                    MVT::i32, MVT::i32, 5, 0, 4, 5, 6, 7,
   82,
    OPC_CheckPredicate, 72,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckTypeI32,
    OPC_Scope, 37,
     OPC_CheckPatternPredicate, 43,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 9, 3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::MOVi16),
                     MVT::i32, 3, 4, 5, 6,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitCopyToReg2, ARM::CPSR,
     OPC_MorphNodeTo2GlueInput, TARGET_VAL(ARM::SBCrr),
                     MVT::i32, MVT::i32, 5, 0, 7, 8, 9, 10,
    36,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 9, 3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::t2MOVi16),
                     MVT::i32, 3, 4, 5, 6,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitCopyToReg2, ARM::CPSR,
     OPC_MorphNodeTo2GlueInput, TARGET_VAL(ARM::t2SBCrr),
                     MVT::i32, MVT::i32, 5, 0, 7, 8, 9, 10,
    0,
   0,
  59,
   OPC_RecordChild2,
   OPC_CheckTypeI32,
   OPC_Scope, 20,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitCopyToReg2, ARM::CPSR,
    OPC_MorphNodeTo2GlueInput, TARGET_VAL(ARM::ADCrr),
                    MVT::i32, MVT::i32, 5, 0, 1, 3, 4, 5,
   12,
    OPC_CheckPatternPredicate, 49,
    OPC_EmitCopyToReg2, ARM::CPSR,
    OPC_MorphNodeTo2GlueInput, TARGET_VAL(ARM::tADCS),
                    MVT::i32, MVT::i32, 2, 0, 1,
   20,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitCopyToReg2, ARM::CPSR,
    OPC_MorphNodeTo2GlueInput, TARGET_VAL(ARM::t2ADCrr),
                    MVT::i32, MVT::i32, 5, 0, 1, 3, 4, 5,
   0,
  0,
 37|128,2, TARGET_VAL(ARMISD::SUBE),
  OPC_RecordChild0,
  OPC_Scope, 33|128,1,
   OPC_RecordChild1,
   OPC_Scope, 126,
    OPC_RecordChild2,
    OPC_CheckTypeI32,
    OPC_Scope, 97,
     OPC_CheckPatternPredicate3,
     OPC_Scope, 23,
      OPC_CheckComplexPat3, /*#*/1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitCopyToReg2, ARM::CPSR,
      OPC_MorphNodeTo2GlueInput, TARGET_VAL(ARM::SBCrsr),
                      MVT::i32, MVT::i32, 7, 0, 3, 4, 5, 6, 7, 8,
     23,
      OPC_CheckComplexPat3, /*#*/0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitCopyToReg2, ARM::CPSR,
      OPC_MorphNodeTo2GlueInput, TARGET_VAL(ARM::RSCrsr),
                      MVT::i32, MVT::i32, 7, 1, 3, 4, 5, 6, 7, 8,
     22,
      OPC_CheckComplexPat4, /*#*/1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitCopyToReg2, ARM::CPSR,
      OPC_MorphNodeTo2GlueInput, TARGET_VAL(ARM::SBCrsi),
                      MVT::i32, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
     22,
      OPC_CheckComplexPat4, /*#*/0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitCopyToReg2, ARM::CPSR,
      OPC_MorphNodeTo2GlueInput, TARGET_VAL(ARM::RSCrsi),
                      MVT::i32, MVT::i32, 6, 1, 3, 4, 5, 6, 7,
     0,
    23,
     OPC_CheckPatternPredicate4,
     OPC_CheckComplexPat6, /*#*/1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitCopyToReg2, ARM::CPSR,
     OPC_MorphNodeTo2GlueInput, TARGET_VAL(ARM::t2SBCrs),
                     MVT::i32, MVT::i32, 6, 0, 3, 4, 5, 6, 7,
    0,
   30,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 20,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitCopyToReg2, ARM::CPSR,
    OPC_MorphNodeTo2GlueInput, TARGET_VAL(ARM::SBCri),
                    MVT::i32, MVT::i32, 5, 0, 3, 4, 5, 6,
   0,
  31,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate3,
   OPC_EmitConvertToTarget0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitCopyToReg2, ARM::CPSR,
   OPC_MorphNodeTo2GlueInput, TARGET_VAL(ARM::RSCri),
                   MVT::i32, MVT::i32, 5, 1, 3, 4, 5, 6,
  94,
   OPC_RecordChild1,
   OPC_Scope, 30,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitCopyToReg2, ARM::CPSR,
    OPC_MorphNodeTo2GlueInput, TARGET_VAL(ARM::t2SBCri),
                    MVT::i32, MVT::i32, 5, 0, 3, 4, 5, 6,
   59,
    OPC_RecordChild2,
    OPC_CheckTypeI32,
    OPC_Scope, 20,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitCopyToReg2, ARM::CPSR,
     OPC_MorphNodeTo2GlueInput, TARGET_VAL(ARM::SBCrr),
                     MVT::i32, MVT::i32, 5, 0, 1, 3, 4, 5,
    12,
     OPC_CheckPatternPredicate, 49,
     OPC_EmitCopyToReg2, ARM::CPSR,
     OPC_MorphNodeTo2GlueInput, TARGET_VAL(ARM::tSBCS),
                     MVT::i32, MVT::i32, 2, 0, 1,
    20,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitCopyToReg2, ARM::CPSR,
     OPC_MorphNodeTo2GlueInput, TARGET_VAL(ARM::t2SBCrr),
                     MVT::i32, MVT::i32, 5, 0, 1, 3, 4, 5,
    0,
   0,
  0,
 89|128,1, TARGET_VAL(ARMISD::CMP),
  OPC_RecordChild0,
  OPC_CheckChild0TypeI32,
  OPC_RecordChild1,
  OPC_Scope, 38,
   OPC_CheckPatternPredicate3,
   OPC_Scope, 17,
    OPC_CheckComplexPat3, /*#*/1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CMPrsr),
                    MVT::i32, 6, 0, 2, 3, 4, 5, 6,
   16,
    OPC_CheckComplexPat4, /*#*/1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CMPrsi),
                    MVT::i32, 5, 0, 2, 3, 4, 5,
   0,
  17,
   OPC_CheckPatternPredicate4,
   OPC_CheckComplexPat6, /*#*/1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2CMPrs),
                   MVT::i32, 5, 0, 2, 3, 4, 5,
  108,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 18,
    OPC_CheckPredicate, 20,
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CMPri),
                    MVT::i32, 4, 0, 2, 3, 4,
   21,
    OPC_CheckPredicate, 61,
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 3, 2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CMNri),
                    MVT::i32, 4, 0, 3, 4, 5,
   19,
    OPC_CheckPredicate, 47,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 12,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::tCMPi8),
                    MVT::i32, 4, 0, 2, 3, 4,
   18,
    OPC_CheckPredicate, 13,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2CMPri),
                    MVT::i32, 4, 0, 2, 3, 4,
   21,
    OPC_CheckPredicate, 62,
    OPC_MoveParent,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 4, 2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2CMNri),
                    MVT::i32, 4, 0, 3, 4, 5,
   0,
  14,
   OPC_CheckPatternPredicate3,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::CMPrr),
                   MVT::i32, 4, 0, 1, 2, 3,
  15,
   OPC_CheckPatternPredicate, 12,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::tCMPr),
                   MVT::i32, 4, 0, 1, 2, 3,
  14,
   OPC_CheckPatternPredicate4,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2CMPrr),
                   MVT::i32, 4, 0, 1, 2, 3,
  0,
 59, TARGET_VAL(ARMISD::CMN),
  OPC_RecordChild0,
  OPC_CheckChild0TypeI32,
  OPC_Scope, 30,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
   OPC_CheckChild0Integer, 0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 13,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckPatternPredicate4,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2CMNri),
                   MVT::i32, 4, 0, 2, 3, 4,
  23,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 20,
   OPC_MoveParent,
   OPC_CheckPatternPredicate3,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::CMNri),
                   MVT::i32, 4, 0, 2, 3, 4,
  0,
 57|128,1, TARGET_VAL(ARMISD::SSAT),
  OPC_Scope, 1|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 57, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate3,
     OPC_EmitConvertToTarget2,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SSAT),
                     MVT::i32, 5, 3, 0, 4, 5, 6,
    17,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget2,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SSAT),
                     MVT::i32, 5, 3, 0, 4, 5, 6,
    0,
   63, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 19,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 20,
     OPC_CheckPatternPredicate3,
     OPC_EmitConvertToTarget2,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 12, 4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SSAT),
                     MVT::i32, 5, 3, 0, 5, 6, 7,
    20,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget2,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 12, 4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SSAT),
                     MVT::i32, 5, 3, 0, 5, 6, 7,
    0,
   0,
  51,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 11,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_Scope, 18,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SSAT),
                    MVT::i32, 5, 2, 0, 3, 4, 5,
   18,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SSAT),
                    MVT::i32, 5, 2, 0, 3, 4, 5,
   0,
  0,
 57|128,1, TARGET_VAL(ARMISD::USAT),
  OPC_Scope, 1|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 57, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate3,
     OPC_EmitConvertToTarget2,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::USAT),
                     MVT::i32, 5, 3, 0, 4, 5, 6,
    17,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget2,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2USAT),
                     MVT::i32, 5, 3, 0, 4, 5, 6,
    0,
   63, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 19,
    OPC_MoveParent,
    OPC_MoveSibling1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_CheckPredicate, 11,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_Scope, 20,
     OPC_CheckPatternPredicate3,
     OPC_EmitConvertToTarget2,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 12, 4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::USAT),
                     MVT::i32, 5, 3, 0, 5, 6, 7,
    20,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget2,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 12, 4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2USAT),
                     MVT::i32, 5, 3, 0, 5, 6, 7,
    0,
   0,
  51,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 11,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_Scope, 18,
    OPC_CheckPatternPredicate3,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::USAT),
                    MVT::i32, 5, 2, 0, 3, 4, 5,
   18,
    OPC_CheckPatternPredicate4,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2USAT),
                    MVT::i32, 5, 2, 0, 3, 4, 5,
   0,
  0,
 99|128,2, TARGET_VAL(ARMISD::VST2_UPD),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_CheckChild2Integer, 32,
  OPC_RecordChild3,
  OPC_Scope, 68,
   OPC_CheckChild3Type, MVT::v16i8,
   OPC_RecordChild4,
   OPC_MoveChild5,
   OPC_Scope, 30,
    OPC_CheckInteger, 0,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 119|128,0,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v4i64, 5, 4, 2, 5, 3, 6,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST20_8_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 7, 1,
   30,
    OPC_CheckInteger, 1,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 119|128,0,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v4i64, 5, 4, 2, 5, 3, 6,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST21_8_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 7, 1,
   0,
  68,
   OPC_CheckChild3Type, MVT::v8i16,
   OPC_RecordChild4,
   OPC_MoveChild5,
   OPC_Scope, 30,
    OPC_CheckInteger, 0,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 119|128,0,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v4i64, 5, 4, 2, 5, 3, 6,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST20_16_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 7, 1,
   30,
    OPC_CheckInteger, 1,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 119|128,0,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v4i64, 5, 4, 2, 5, 3, 6,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST21_16_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 7, 1,
   0,
  68,
   OPC_CheckChild3Type, MVT::v4i32,
   OPC_RecordChild4,
   OPC_MoveChild5,
   OPC_Scope, 30,
    OPC_CheckInteger, 0,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 119|128,0,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v4i64, 5, 4, 2, 5, 3, 6,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST20_32_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 7, 1,
   30,
    OPC_CheckInteger, 1,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 119|128,0,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v4i64, 5, 4, 2, 5, 3, 6,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST21_32_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 7, 1,
   0,
  68,
   OPC_CheckChild3Type, MVT::v8f16,
   OPC_RecordChild4,
   OPC_MoveChild5,
   OPC_Scope, 30,
    OPC_CheckInteger, 0,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 119|128,0,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v4i64, 5, 4, 2, 5, 3, 6,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST20_16_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 7, 1,
   30,
    OPC_CheckInteger, 1,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 119|128,0,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v4i64, 5, 4, 2, 5, 3, 6,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST21_16_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 7, 1,
   0,
  69,
   OPC_CheckChild3Type, 4|128,1,
   OPC_RecordChild4,
   OPC_MoveChild5,
   OPC_Scope, 30,
    OPC_CheckInteger, 0,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 119|128,0,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v4i64, 5, 4, 2, 5, 3, 6,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST20_32_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 7, 1,
   30,
    OPC_CheckInteger, 1,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 119|128,0,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v4i64, 5, 4, 2, 5, 3, 6,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST21_32_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 7, 1,
   0,
  0,
 73|128,6, TARGET_VAL(ARMISD::VST4_UPD),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_CheckChild2Integer, 64|128,0,
  OPC_RecordChild3,
  OPC_Scope, 36|128,1,
   OPC_CheckChild3Type, MVT::v16i8,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_MoveChild7,
   OPC_Scope, 38,
    OPC_CheckInteger, 0,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 4|128,1,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitIntegerI32, ARM::qsub_2,
    OPC_EmitIntegerI32, ARM::qsub_3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST40_8_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 11, 1,
   38,
    OPC_CheckInteger, 1,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 4|128,1,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitIntegerI32, ARM::qsub_2,
    OPC_EmitIntegerI32, ARM::qsub_3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST41_8_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 11, 1,
   38,
    OPC_CheckInteger, 2,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 4|128,1,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitIntegerI32, ARM::qsub_2,
    OPC_EmitIntegerI32, ARM::qsub_3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST42_8_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 11, 1,
   38,
    OPC_CheckInteger, 3,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 4|128,1,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitIntegerI32, ARM::qsub_2,
    OPC_EmitIntegerI32, ARM::qsub_3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST43_8_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 11, 1,
   0,
  36|128,1,
   OPC_CheckChild3Type, MVT::v8i16,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_MoveChild7,
   OPC_Scope, 38,
    OPC_CheckInteger, 0,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 4|128,1,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitIntegerI32, ARM::qsub_2,
    OPC_EmitIntegerI32, ARM::qsub_3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST40_16_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 11, 1,
   38,
    OPC_CheckInteger, 1,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 4|128,1,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitIntegerI32, ARM::qsub_2,
    OPC_EmitIntegerI32, ARM::qsub_3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST41_16_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 11, 1,
   38,
    OPC_CheckInteger, 2,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 4|128,1,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitIntegerI32, ARM::qsub_2,
    OPC_EmitIntegerI32, ARM::qsub_3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST42_16_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 11, 1,
   38,
    OPC_CheckInteger, 3,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 4|128,1,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitIntegerI32, ARM::qsub_2,
    OPC_EmitIntegerI32, ARM::qsub_3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST43_16_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 11, 1,
   0,
  36|128,1,
   OPC_CheckChild3Type, MVT::v4i32,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_MoveChild7,
   OPC_Scope, 38,
    OPC_CheckInteger, 0,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 4|128,1,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitIntegerI32, ARM::qsub_2,
    OPC_EmitIntegerI32, ARM::qsub_3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST40_32_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 11, 1,
   38,
    OPC_CheckInteger, 1,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 4|128,1,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitIntegerI32, ARM::qsub_2,
    OPC_EmitIntegerI32, ARM::qsub_3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST41_32_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 11, 1,
   38,
    OPC_CheckInteger, 2,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 4|128,1,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitIntegerI32, ARM::qsub_2,
    OPC_EmitIntegerI32, ARM::qsub_3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST42_32_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 11, 1,
   38,
    OPC_CheckInteger, 3,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 4|128,1,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitIntegerI32, ARM::qsub_2,
    OPC_EmitIntegerI32, ARM::qsub_3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST43_32_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 11, 1,
   0,
  36|128,1,
   OPC_CheckChild3Type, MVT::v8f16,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_MoveChild7,
   OPC_Scope, 38,
    OPC_CheckInteger, 0,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 4|128,1,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitIntegerI32, ARM::qsub_2,
    OPC_EmitIntegerI32, ARM::qsub_3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST40_16_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 11, 1,
   38,
    OPC_CheckInteger, 1,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 4|128,1,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitIntegerI32, ARM::qsub_2,
    OPC_EmitIntegerI32, ARM::qsub_3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST41_16_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 11, 1,
   38,
    OPC_CheckInteger, 2,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 4|128,1,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitIntegerI32, ARM::qsub_2,
    OPC_EmitIntegerI32, ARM::qsub_3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST42_16_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 11, 1,
   38,
    OPC_CheckInteger, 3,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 4|128,1,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitIntegerI32, ARM::qsub_2,
    OPC_EmitIntegerI32, ARM::qsub_3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST43_16_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 11, 1,
   0,
  37|128,1,
   OPC_CheckChild3Type, 4|128,1,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_MoveChild7,
   OPC_Scope, 38,
    OPC_CheckInteger, 0,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 4|128,1,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitIntegerI32, ARM::qsub_2,
    OPC_EmitIntegerI32, ARM::qsub_3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST40_32_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 11, 1,
   38,
    OPC_CheckInteger, 1,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 4|128,1,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitIntegerI32, ARM::qsub_2,
    OPC_EmitIntegerI32, ARM::qsub_3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST41_32_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 11, 1,
   38,
    OPC_CheckInteger, 2,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 4|128,1,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitIntegerI32, ARM::qsub_2,
    OPC_EmitIntegerI32, ARM::qsub_3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST42_32_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 11, 1,
   38,
    OPC_CheckInteger, 3,
    OPC_MoveParent,
    OPC_CheckTypeI32,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 4|128,1,
    OPC_EmitIntegerI32, ARM::qsub_0,
    OPC_EmitIntegerI32, ARM::qsub_1,
    OPC_EmitIntegerI32, ARM::qsub_2,
    OPC_EmitIntegerI32, ARM::qsub_3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                    MVT::v8i64, 9, 6, 2, 7, 3, 8, 4, 9, 5, 10,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VST43_32_wb), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 2, 11, 1,
   0,
  0,
 19|128,1, TARGET_VAL(ISD::SHL),
  OPC_Scope, 46,
   OPC_RecordNode,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate3,
   OPC_Scope, 20,
    OPC_CheckComplexPat, /*CP*/31, /*#*/0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MOVsr),
                    MVT::i32, 6, 1, 2, 3, 4, 5, 6,
   19,
    OPC_CheckComplexPat, /*CP*/32, /*#*/0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MOVsi),
                    MVT::i32, 5, 1, 2, 3, 4, 5,
   0,
  97,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 51,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 22,
     OPC_CheckPredicate, 66,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2LSLri),
                     MVT::i32, 5, 0, 2, 3, 4, 5,
    21,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitRegisterI32, ARM::CPSR,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::tLSLri),
                     MVT::i32, 5, 2, 0, 3, 4, 5,
    0,
   40,
    OPC_CheckTypeI32,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate, 12,
     OPC_EmitRegisterI32, ARM::CPSR,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::tLSLrr),
                     MVT::i32, 5, 2, 0, 1, 3, 4,
    17,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2LSLrr),
                     MVT::i32, 5, 0, 1, 2, 3, 4,
    0,
   0,
  0,
 24, TARGET_VAL(ARMISD::LDRD),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_CheckPatternPredicate4,
  OPC_CheckComplexPat, /*CP*/42, /*#*/1,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitIntegerI32, 14,
  OPC_EmitRegisterI32, 0 ,
  OPC_MorphNodeTo2, TARGET_VAL(ARM::t2LDRDi8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, MVT::i32, 4, 2, 3, 4, 5,
 26, TARGET_VAL(ARMISD::STRD),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_CheckChild3TypeI32,
  OPC_CheckPatternPredicate4,
  OPC_CheckComplexPat, /*CP*/42, /*#*/3,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitIntegerI32, 14,
  OPC_EmitRegisterI32, 0 ,
  OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRDi8), 0|OPFL_Chain|OPFL_MemRefs,
                  6, 1, 2, 4, 5, 6, 7,
 13, TARGET_VAL(ISD::ATOMIC_FENCE),
  OPC_RecordNode,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_MoveParent,
  OPC_CheckChild2Integer, 0,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0Chain, TARGET_VAL(TargetOpcode::MEMBARRIER),
                  0,
 113|128,3, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
  OPC_Scope, 106,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 12,
   OPC_MoveParent,
   OPC_MoveSibling1,
   OPC_Scope, 44,
    OPC_CheckValueType, MVT::i8,
    OPC_MoveParent,
    OPC_Scope, 19,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 2, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SXTB),
                     MVT::i32, 4, 0, 3, 4, 5,
    18,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 2, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTB),
                     MVT::i32, 4, 0, 3, 4, 5,
    0,
   44,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_Scope, 19,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 2, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SXTH),
                     MVT::i32, 4, 0, 3, 4, 5,
    18,
     OPC_CheckPatternPredicate4,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 2, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTH),
                     MVT::i32, 4, 0, 3, 4, 5,
    0,
   0,
  116,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_Scope, 55,
    OPC_CheckValueType, MVT::i8,
    OPC_MoveParent,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SXTB),
                     MVT::i32, 4, 0, 1, 2, 3,
    14,
     OPC_CheckPatternPredicate, 50,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::tSXTB),
                     MVT::i32, 3, 0, 1, 2,
    16,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTB),
                     MVT::i32, 4, 0, 1, 2, 3,
    0,
   55,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::SXTH),
                     MVT::i32, 4, 0, 1, 2, 3,
    14,
     OPC_CheckPatternPredicate, 50,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::tSXTH),
                     MVT::i32, 3, 0, 1, 2,
    16,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SXTH),
                     MVT::i32, 4, 0, 1, 2, 3,
    0,
   0,
  31|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 75, TARGET_VAL(ARMISD::VECTOR_REG_CAST),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 33, TARGET_VAL(ARMISD::VREV16),
     OPC_RecordChild0,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVLs8th),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    33, TARGET_VAL(ARMISD::VREV32),
     OPC_RecordChild0,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVLs16th),
                     MVT::v4i32, 5, 0, 1, 2, 3, 4,
    0,
   75, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 33, TARGET_VAL(ARMISD::VREV16),
     OPC_RecordChild0,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVLs8th),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    33, TARGET_VAL(ARMISD::VREV32),
     OPC_RecordChild0,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckPredicate5,
     OPC_MoveSibling1,
     OPC_CheckValueType, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVLs16th),
                     MVT::v4i32, 5, 0, 1, 2, 3, 4,
    0,
   0,
  109,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_Scope, 27,
    OPC_CheckValueType, MVT::v4i16,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVLs16bh),
                    MVT::v4i32, 5, 0, 1, 2, 3, 4,
   27,
    OPC_CheckValueType, MVT::v8i8,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVLs8bh),
                    MVT::v8i16, 5, 0, 1, 2, 3, 4,
   48,
    OPC_CheckValueType, MVT::v4i8,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVLs8bh),
                    MVT::v16i8, 5, 0, 1, 2, 3, 4,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVLs16bh),
                    MVT::v4i32, 5, 5, 6, 7, 8, 9,
   0,
  0,
 52, TARGET_VAL(ISD::CALLSEQ_END),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_SwitchOpcode , 21, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
                   MVT::i32, 4, 1, 2, 3, 4,
  19, TARGET_VAL(ISD::Constant),
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 12,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::tADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
                   MVT::i32, 2, 3, 4,
  0,
 51, TARGET_VAL(ISD::CALLSEQ_START),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_SwitchOpcode , 21, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
                   MVT::i32, 4, 1, 2, 3, 4,
  19, TARGET_VAL(ISD::Constant),
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_RecordNode,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 12,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_EmitConvertToTarget2,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::tADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
                   MVT::i32, 2, 3, 4,
  0,
 80, TARGET_VAL(ARMISD::TC_RETURN),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_Scope, 41,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 16, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::TCRETURNdi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
                    2, 1, 2,
   16, TARGET_VAL(ISD::TargetExternalSymbol),
    OPC_CheckTypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_RecordNode,
    OPC_CheckTypeI32,
    OPC_MoveParent,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::TCRETURNdi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
                    2, 1, 2,
   0,
  32,
   OPC_CheckChild1TypeI32,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 120,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::TCRETURNri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
                    2, 1, 2,
   10,
    OPC_CheckPatternPredicate, 121,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::TCRETURNrinotr12), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
                    2, 1, 2,
   0,
  0,
 28, TARGET_VAL(ARMISD::COPY_STRUCT_BYVAL),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_MoveChild3,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_MoveSibling4,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_RecordNode,
  OPC_MoveParent,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitConvertToTarget3,
  OPC_EmitConvertToTarget4,
  OPC_MorphNodeTo1, TARGET_VAL(ARM::COPY_STRUCT_BYVAL_I32), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
                  MVT::i32, 4, 1, 2, 5, 6,
 78, TARGET_VAL(ARMISD::SMMLAR),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 35,
   OPC_CheckChild2Integer, 0,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMMULR),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMMULR),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  37,
   OPC_RecordChild2,
   OPC_Scope, 16,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMMLAR),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   16,
    OPC_CheckPatternPredicate, 28,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMMLAR),
                    MVT::i32, 5, 0, 1, 2, 3, 4,
   0,
  0,
 47, TARGET_VAL(ARMISD::BFI),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 74,
  OPC_MoveParent,
  OPC_Scope, 17,
   OPC_CheckPatternPredicate, 43,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::BFI),
                   MVT::i32, 5, 0, 1, 3, 4, 5,
  16,
   OPC_CheckPatternPredicate4,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2BFI),
                   MVT::i32, 5, 0, 1, 3, 4, 5,
  0,
 21, TARGET_VAL(ARMISD::LSLS),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 11,
  OPC_MoveParent,
  OPC_CheckTypeI32,
  OPC_CheckPatternPredicate, 49,
  OPC_EmitConvertToTarget1,
  OPC_MorphNodeTo2None, TARGET_VAL(ARM::tLSLSri),
                  MVT::i32, MVT::i32, 2, 0, 2,
 47, TARGET_VAL(ARMISD::INTRET_GLUE),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_Scope, 20,
   OPC_CheckPredicate, 47,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 122,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SUBS_PC_LR), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
                   MVT::i32, 3, 2, 3, 4,
  16,
   OPC_MoveParent,
   OPC_CheckPatternPredicate3,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo0, TARGET_VAL(ARM::SUBS_PC_LR), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic1,
                   3, 2, 3, 4,
  0,
 53, TARGET_VAL(ARMISD::ASRL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 27,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 19,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 48,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_ASRLi),
                   MVT::i32, MVT::i32, 5, 0, 1, 3, 4, 5,
  19,
   OPC_CheckChild2TypeI32,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 48,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_ASRLr),
                   MVT::i32, MVT::i32, 5, 0, 1, 2, 3, 4,
  0,
 53, TARGET_VAL(ARMISD::LSLL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 27,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 19,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 48,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_LSLLi),
                   MVT::i32, MVT::i32, 5, 0, 1, 3, 4, 5,
  19,
   OPC_CheckChild2TypeI32,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 48,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_LSLLr),
                   MVT::i32, MVT::i32, 5, 0, 1, 2, 3, 4,
  0,
 30, TARGET_VAL(ARMISD::LSRL),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_CheckPredicate, 19,
  OPC_CheckTypeI32,
  OPC_MoveParent,
  OPC_CheckTypeI32,
  OPC_CheckPatternPredicate, 48,
  OPC_EmitConvertToTarget2,
  OPC_EmitIntegerI32, 14,
  OPC_EmitRegisterI32, 0 ,
  OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_LSRL),
                  MVT::i32, MVT::i32, 5, 0, 1, 3, 4, 5,
 7|128,1, TARGET_VAL(ARMISD::CALL),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_Scope, 69,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 30, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_MoveParent,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::BL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     MVT::i32, 1, 1,
    16,
     OPC_CheckPatternPredicate, 52,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tBL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     MVT::i32, 3, 2, 3, 1,
    0,
   30, TARGET_VAL(ISD::TargetExternalSymbol),
    OPC_MoveParent,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::BL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     MVT::i32, 1, 1,
    16,
     OPC_CheckPatternPredicate, 52,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tBL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                     MVT::i32, 3, 2, 3, 1,
    0,
   0,
  59,
   OPC_CheckChild1TypeI32,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 95,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::BLX), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    MVT::i32, 1, 1,
   10,
    OPC_CheckPatternPredicate, 96,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::BLX_noip), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    MVT::i32, 1, 1,
   16,
    OPC_CheckPatternPredicate, 123,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::tBLXr), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    MVT::i32, 3, 2, 3, 1,
   16,
    OPC_CheckPatternPredicate, 124,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::tBLXr_noip), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    MVT::i32, 3, 2, 3, 1,
   0,
  0,
 58, TARGET_VAL(ARMISD::CALL_PRED),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_Scope, 20,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_MoveParent,
   OPC_CheckPatternPredicate3,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::BL_pred), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                   MVT::i32, 3, 1, 2, 3,
  31,
   OPC_CheckChild1TypeI32,
   OPC_Scope, 16,
    OPC_CheckPatternPredicate, 95,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::BLX_pred), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    MVT::i32, 3, 1, 2, 3,
   10,
    OPC_CheckPatternPredicate, 96,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::BLX_pred_noip), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    MVT::i32, 1, 1,
   0,
  0,
 72, TARGET_VAL(ARMISD::CALL_NOLINK),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_Scope, 29,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 10, TARGET_VAL(ISD::TargetGlobalAddress),
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::BMOVPCB_CALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    MVT::i32, 1, 1,
   10, TARGET_VAL(ISD::TargetExternalSymbol),
    OPC_MoveParent,
    OPC_CheckPatternPredicate3,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::BMOVPCB_CALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    MVT::i32, 1, 1,
   0,
  36,
   OPC_CheckChild1TypeI32,
   OPC_Scope, 10,
    OPC_CheckPatternPredicate, 84,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::BX_CALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    MVT::i32, 1, 1,
   10,
    OPC_CheckPatternPredicate, 85,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::BMOVPCRX_CALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    MVT::i32, 1, 1,
   10,
    OPC_CheckPatternPredicate, 12,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::tBX_CALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    MVT::i32, 1, 1,
   0,
  0,
 108|128,7, TARGET_VAL(ISD::SADDSAT),
  OPC_Scope, 43,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SADDSAT),
   OPC_RecordChild0,
   OPC_CheckChild1Same, 1,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate, 19,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::QDADD),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2QDADD),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  43,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SADDSAT),
   OPC_RecordChild0,
   OPC_CheckChild1Same, 0,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate, 19,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::QDADD),
                    MVT::i32, 4, 1, 0, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2QDADD),
                    MVT::i32, 4, 1, 0, 2, 3,
   0,
  44|128,1,
   OPC_RecordChild0,
   OPC_Scope, 35,
    OPC_RecordChild1,
    OPC_CheckTypeI32,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate, 19,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::QADD),
                     MVT::i32, 4, 0, 1, 2, 3,
    14,
     OPC_CheckPatternPredicate5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2QADD),
                     MVT::i32, 4, 0, 1, 2, 3,
    0,
   3|128,1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 82|128,31,
    OPC_Scope, 81,
     OPC_RecordChild1,
     OPC_Scope, 38,
      OPC_CheckChild1Type, MVT::v4i16,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMLALslv4i16),
                      MVT::v4i32, 6, 0, 1, 2, 4, 5, 6,
     38,
      OPC_CheckChild1Type, MVT::v2i32,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMLALslv2i32),
                      MVT::v2i64, 6, 0, 1, 2, 4, 5, 6,
     0,
    39,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMLALslv4i16),
                     MVT::v4i32, 6, 0, 3, 1, 4, 5, 6,
    0,
   0,
  91,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 82|128,31,
   OPC_Scope, 40,
    OPC_RecordChild1,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMLALslv4i16),
                    MVT::v4i32, 6, 3, 0, 1, 4, 5, 6,
   40,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMLALslv4i16),
                    MVT::v4i32, 6, 3, 2, 0, 4, 5, 6,
   0,
  47,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 82|128,31,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v2i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i32,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v2i32,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMLALslv2i32),
                   MVT::v2i64, 6, 0, 3, 1, 4, 5, 6,
  91,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 82|128,31,
   OPC_Scope, 40,
    OPC_RecordChild1,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMLALslv2i32),
                    MVT::v2i64, 6, 3, 0, 1, 4, 5, 6,
   40,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMLALslv2i32),
                    MVT::v2i64, 6, 3, 2, 0, 4, 5, 6,
   0,
  59,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 82|128,31,
   OPC_RecordChild1,
   OPC_Scope, 23,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMLALv4i32),
                    MVT::v4i32, 5, 0, 1, 2, 3, 4,
   23,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMLALv2i64),
                    MVT::v2i64, 5, 0, 1, 2, 3, 4,
   0,
  60,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 82|128,31,
   OPC_RecordChild1,
   OPC_Scope, 24,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMLALv4i32),
                    MVT::v4i32, 5, 2, 0, 1, 3, 4,
   24,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMLALv2i64),
                    MVT::v2i64, 5, 2, 0, 1, 3, 4,
   0,
  85,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_SwitchType , 23, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_s8),
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
   23, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_s16),
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
   23, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_s32),
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
   0,
  85,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_s8),
                    MVT::v16i8, 6, 1, 0, 2, 3, 4, 5,
   23, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_s16),
                    MVT::v8i16, 6, 1, 0, 2, 3, 4, 5,
   23, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_s32),
                    MVT::v4i32, 6, 1, 0, 2, 3, 4, 5,
   0,
  85|128,1,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 14, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQADDsv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   14, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQADDsv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   41, MVT::v8i16,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQADDsv8i16),
                     MVT::v8i16, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADDs16),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    0,
   41, MVT::v4i32,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQADDsv4i32),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADDs32),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    0,
   14, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQADDsv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   41, MVT::v16i8,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQADDsv16i8),
                     MVT::v16i8, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADDs8),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    0,
   14, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQADDsv1i64),
                    MVT::v1i64, 4, 0, 1, 2, 3,
   14, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQADDsv2i64),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   0,
  0,
 93|128,4, TARGET_VAL(ISD::SSUBSAT),
  OPC_RecordChild0,
  OPC_Scope, 42,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SADDSAT),
   OPC_RecordChild0,
   OPC_CheckChild1Same, 1,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate, 19,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::QDSUB),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2QDSUB),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  35,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate, 19,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::QSUB),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2QSUB),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  51|128,2,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 89|128,1, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 82|128,31,
    OPC_Scope, 81,
     OPC_RecordChild1,
     OPC_Scope, 38,
      OPC_CheckChild1Type, MVT::v4i16,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMLSLslv4i16),
                      MVT::v4i32, 6, 0, 1, 2, 4, 5, 6,
     38,
      OPC_CheckChild1Type, MVT::v2i32,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget3,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMLSLslv2i32),
                      MVT::v2i64, 6, 0, 1, 2, 4, 5, 6,
     0,
    77,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_Scope, 34,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMLSLslv4i16),
                      MVT::v4i32, 6, 0, 3, 1, 4, 5, 6,
     34,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMLSLslv2i32),
                      MVT::v2i64, 6, 0, 3, 1, 4, 5, 6,
     0,
    51,
     OPC_RecordChild1,
     OPC_Scope, 23,
      OPC_CheckChild1Type, MVT::v4i16,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMLSLv4i32),
                      MVT::v4i32, 5, 0, 1, 2, 3, 4,
     23,
      OPC_CheckChild1Type, MVT::v2i32,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQDMLSLv2i64),
                      MVT::v2i64, 5, 0, 1, 2, 3, 4,
     0,
    0,
   80, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_SwitchType , 23, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUB_qr_s8),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    23, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUB_qr_s16),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    23, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUB_qr_s32),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  84|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 14, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSUBsv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   14, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSUBsv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   41, MVT::v8i16,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSUBsv8i16),
                     MVT::v8i16, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUBs16),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    0,
   41, MVT::v4i32,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSUBsv4i32),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUBs32),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    0,
   14, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSUBsv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   41, MVT::v16i8,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSUBsv16i8),
                     MVT::v16i8, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUBs8),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    0,
   14, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSUBsv1i64),
                    MVT::v1i64, 4, 0, 1, 2, 3,
   14, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSUBsv2i64),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   0,
  0,
 22, TARGET_VAL(ARMISD::MEMCPY),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_MoveChild3,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_MoveParent,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitConvertToTarget3,
  OPC_MorphNodeTo2, TARGET_VAL(ARM::MEMCPY), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
                  MVT::i32, MVT::i32, 3, 1, 2, 4,
 57|128,1, TARGET_VAL(ARMISD::Wrapper),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_SwitchOpcode , 50, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 97,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::LDRLIT_ga_abs),
                    MVT::i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 86,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MOVi32imm),
                    MVT::i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 125,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::tLDRLIT_ga_abs),
                    MVT::i32, 1, 0,
   9,
    OPC_CheckPatternPredicate, 98,
    OPC_MorphNodeTo2None, TARGET_VAL(ARM::tMOVi32imm),
                    MVT::i32, MVT::i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 99,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2MOVi32imm),
                    MVT::i32, 1, 0,
   0,
  40, TARGET_VAL(ISD::TargetGlobalTLSAddress),
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 86,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MOVi32imm),
                    MVT::i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 97,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::LDRLIT_ga_abs),
                    MVT::i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 126,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::tLDRLIT_ga_abs),
                    MVT::i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 127,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2MOVi32imm),
                    MVT::i32, 1, 0,
   0,
  47, TARGET_VAL(ISD::TargetConstantPool),
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::LEApcrel),
                    MVT::i32, 3, 0, 1, 2,
   14,
    OPC_CheckPatternPredicate, 12,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::tLEApcrel),
                    MVT::i32, 3, 0, 1, 2,
   13,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2LEApcrel),
                    MVT::i32, 3, 0, 1, 2,
   0,
  32, TARGET_VAL(ISD::TargetExternalSymbol),
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 86,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MOVi32imm),
                    MVT::i32, 1, 0,
   9,
    OPC_CheckPatternPredicate, 98,
    OPC_MorphNodeTo2None, TARGET_VAL(ARM::tMOVi32imm),
                    MVT::i32, MVT::i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 99,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2MOVi32imm),
                    MVT::i32, 1, 0,
   0,
  0,
 108, TARGET_VAL(ARMISD::WrapperPIC),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_SwitchOpcode , 49, TARGET_VAL(ISD::TargetGlobalAddress),
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 72,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MOV_ga_pcrel),
                    MVT::i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 80,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::LDRLIT_ga_pcrel),
                    MVT::i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 100,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::tLDRLIT_ga_pcrel),
                    MVT::i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 128,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2MOV_ga_pcrel),
                    MVT::i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 101,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2LDRLIT_ga_pcrel),
                    MVT::i32, 1, 0,
   0,
  49, TARGET_VAL(ISD::TargetGlobalTLSAddress),
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 72,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MOV_ga_pcrel),
                    MVT::i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 80,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::LDRLIT_ga_pcrel),
                    MVT::i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 100,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::tLDRLIT_ga_pcrel),
                    MVT::i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 129,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2MOV_ga_pcrel),
                    MVT::i32, 1, 0,
   8,
    OPC_CheckPatternPredicate, 101,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2LDRLIT_ga_pcrel),
                    MVT::i32, 1, 0,
   0,
  0,
 52, TARGET_VAL(ARMISD::WrapperJT),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetJumpTable),
  OPC_MoveParent,
  OPC_CheckTypeI32,
  OPC_Scope, 13,
   OPC_CheckPatternPredicate3,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::LEApcrelJT),
                   MVT::i32, 3, 0, 1, 2,
  14,
   OPC_CheckPatternPredicate, 12,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::tLEApcrelJT),
                   MVT::i32, 3, 0, 1, 2,
  13,
   OPC_CheckPatternPredicate4,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2LEApcrelJT),
                   MVT::i32, 3, 0, 1, 2,
  0,
 20, TARGET_VAL(ARMISD::BR2_JT),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_MoveChild3,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetJumpTable),
  OPC_MoveParent,
  OPC_CheckPatternPredicate, 42,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2BR_JT),
                  3, 1, 2, 3,
 19, TARGET_VAL(ARMISD::LOOP_DEC),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_MoveParent,
  OPC_CheckTypeI32,
  OPC_CheckPatternPredicate, 66,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2LoopDec),
                  MVT::i32, 2, 1, 2,
 23, TARGET_VAL(ARMISD::t2CALL_BTI),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
  OPC_MoveParent,
  OPC_CheckPatternPredicate4,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitIntegerI32, 14,
  OPC_EmitRegisterI32, 0 ,
  OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CALL_BTI), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i32, 3, 2, 3, 1,
 61|128,1, TARGET_VAL(ARMISD::VGETLANEs),
  OPC_RecordChild0,
  OPC_Scope, 23,
   OPC_CheckChild0Type, MVT::v8i8,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VGETLNs8),
                   MVT::i32, 4, 0, 2, 3, 4,
  23,
   OPC_CheckChild0Type, MVT::v4i16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VGETLNs16),
                   MVT::i32, 4, 0, 2, 3, 4,
  56,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOV_from_lane_s8),
                    MVT::i32, 4, 0, 2, 3, 4,
   29,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 16, 2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i8, 2, 0, 3,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 17, 5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VGETLNs8),
                    MVT::i32, 4, 4, 6, 7, 8,
   0,
  56,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOV_from_lane_s16),
                    MVT::i32, 4, 0, 2, 3, 4,
   29,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 5, 2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 3,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 6, 5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VGETLNs16),
                    MVT::i32, 4, 4, 6, 7, 8,
   0,
  23,
   OPC_CheckChild0Type, MVT::v8f16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate0,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOV_from_lane_s16),
                   MVT::i32, 4, 0, 2, 3, 4,
  0,
 52|128,2, TARGET_VAL(ARMISD::VGETLANEu),
  OPC_RecordChild0,
  OPC_Scope, 23,
   OPC_CheckChild0Type, MVT::v8i8,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VGETLNu8),
                   MVT::i32, 4, 0, 2, 3, 4,
  23,
   OPC_CheckChild0Type, MVT::v4i16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VGETLNu16),
                   MVT::i32, 4, 0, 2, 3, 4,
  23,
   OPC_CheckChild0Type, MVT::v4f16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VGETLNu16),
                   MVT::i32, 4, 0, 2, 3, 4,
  23,
   OPC_CheckChild0Type, MVT::v4bf16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VGETLNu16),
                   MVT::i32, 4, 0, 2, 3, 4,
  56,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOV_from_lane_u8),
                    MVT::i32, 4, 0, 2, 3, 4,
   29,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 16, 2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v8i8, 2, 0, 3,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 17, 5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VGETLNu8),
                    MVT::i32, 4, 4, 6, 7, 8,
   0,
  56,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOV_from_lane_u16),
                    MVT::i32, 4, 0, 2, 3, 4,
   29,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 5, 2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 3,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 6, 5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VGETLNu16),
                    MVT::i32, 4, 4, 6, 7, 8,
   0,
  56,
   OPC_CheckChild0Type, MVT::v8f16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOV_from_lane_u16),
                    MVT::i32, 4, 0, 2, 3, 4,
   29,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 5, 2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4f16, 2, 0, 3,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 6, 5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VGETLNu16),
                    MVT::i32, 4, 4, 6, 7, 8,
   0,
  37,
   OPC_CheckChild0Type, MVT::v8bf16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 5, 2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v4bf16, 2, 0, 3,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 6, 5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VGETLNu16),
                   MVT::i32, 4, 4, 6, 7, 8,
  0,
 92|128,5, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
  OPC_RecordChild0,
  OPC_Scope, 51,
   OPC_CheckChild0Type, MVT::v2i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_Scope, 16,
    OPC_CheckPatternPredicate, 130,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VGETLNi32),
                    MVT::i32, 4, 0, 2, 3, 4,
   22,
    OPC_CheckPatternPredicate, 102,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 18, 2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 3,
    OPC_EmitIntegerI32, ARM::GPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 4, 5,
   0,
  87,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_Scope, 30,
    OPC_CheckPatternPredicate, 131,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 7, 2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v2i32, 2, 0, 3,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 8, 5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VGETLNi32),
                    MVT::i32, 4, 4, 6, 7, 8,
   22,
    OPC_CheckPatternPredicate, 102,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 18, 2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 3,
    OPC_EmitIntegerI32, ARM::GPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 4, 5,
   21,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 18, 2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::i32, 2, 0, 3,
    OPC_EmitIntegerI32, ARM::rGPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 4, 5,
   0,
  113,
   OPC_CheckChild0Type, MVT::v4bf16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 43,
    OPC_CheckPredicate, 34,
    OPC_MoveParent,
    OPC_CheckType, MVT::bf16,
    OPC_CheckPatternPredicate, 103,
    OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    2|128,1, 2, 0, 2,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 19, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 3, 5,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVH),
                    MVT::f32, 1, 6,
    OPC_EmitIntegerI32, ARM::HPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::bf16, 2, 7, 8,
   28,
    OPC_CheckPredicate, 46,
    OPC_MoveParent,
    OPC_CheckType, MVT::bf16,
    OPC_CheckPatternPredicate, 37,
    OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    2|128,1, 2, 0, 2,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 19, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::bf16, 2, 3, 5,
   30,
    OPC_CheckPredicate, 34,
    OPC_MoveParent,
    OPC_CheckType, MVT::bf16,
    OPC_CheckPatternPredicate, 37,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VGETLNu16),
                    MVT::i32, 4, 0, 2, 3, 4,
    OPC_EmitIntegerI32, ARM::HPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::bf16, 2, 5, 6,
   0,
  1|128,1,
   OPC_CheckChild0Type, MVT::v8bf16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 44,
    OPC_CheckPredicate, 34,
    OPC_MoveParent,
    OPC_CheckType, MVT::bf16,
    OPC_CheckPatternPredicate, 103,
    OPC_EmitIntegerI32, 73|128,0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    4|128,1, 2, 0, 2,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 19, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 3, 5,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVH),
                    MVT::f32, 1, 6,
    OPC_EmitIntegerI32, ARM::HPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::bf16, 2, 7, 8,
   29,
    OPC_CheckPredicate, 46,
    OPC_MoveParent,
    OPC_CheckType, MVT::bf16,
    OPC_CheckPatternPredicate, 37,
    OPC_EmitIntegerI32, 73|128,0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    4|128,1, 2, 0, 2,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 19, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::bf16, 2, 3, 5,
   44,
    OPC_CheckPredicate, 34,
    OPC_MoveParent,
    OPC_CheckType, MVT::bf16,
    OPC_CheckPatternPredicate, 37,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 5, 2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4i16, 2, 0, 3,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 6, 5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VGETLNu16),
                    MVT::i32, 4, 4, 6, 7, 8,
    OPC_EmitIntegerI32, ARM::HPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::bf16, 2, 9, 10,
   0,
  2|128,1,
   OPC_CheckChild0Type, MVT::v8f16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 44,
    OPC_CheckPredicate, 46,
    OPC_MoveParent,
    OPC_CheckType, MVT::f16,
    OPC_Scope, 12,
     OPC_CheckPatternPredicate0,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 19, 2,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f16, 2, 0, 3,
    23,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 73|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     4|128,1, 2, 0, 2,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 19, 4,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f16, 2, 3, 5,
    0,
   75,
    OPC_CheckPredicate, 34,
    OPC_MoveParent,
    OPC_CheckType, MVT::f16,
    OPC_Scope, 28,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 19, 2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f32, 2, 0, 3,
     OPC_EmitNode1None, TARGET_VAL(ARM::VMOVH),
                     MVT::f32, 1, 4,
     OPC_EmitIntegerI32, ARM::HPRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f16, 2, 5, 6,
    38,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 73|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     4|128,1, 2, 0, 2,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 19, 4,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f32, 2, 3, 5,
     OPC_EmitNode1None, TARGET_VAL(ARM::VMOVH),
                     MVT::f32, 1, 6,
     OPC_EmitIntegerI32, ARM::HPRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f16, 2, 7, 8,
    0,
   0,
  80,
   OPC_CheckChild0Type, MVT::v4f16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 27,
    OPC_CheckPredicate, 46,
    OPC_MoveParent,
    OPC_CheckType, MVT::f16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    2|128,1, 2, 0, 2,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 19, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f16, 2, 3, 5,
   42,
    OPC_CheckPredicate, 34,
    OPC_MoveParent,
    OPC_CheckType, MVT::f16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    2|128,1, 2, 0, 2,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 19, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 3, 5,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMOVH),
                    MVT::f32, 1, 6,
    OPC_EmitIntegerI32, ARM::HPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f16, 2, 7, 8,
   0,
  36,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckType, MVT::f64,
   OPC_Scope, 12,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 20, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 0, 3,
   12,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 20, 2,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f64, 2, 0, 3,
   0,
  33,
   OPC_CheckChild0Type, 2|128,1,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   2|128,1, 2, 0, 2,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 18, 4,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::f32, 2, 3, 5,
  59,
   OPC_CheckChild0Type, 4|128,1,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckType, MVT::f32,
   OPC_Scope, 23,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 73|128,0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    4|128,1, 2, 0, 2,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 18, 4,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 3, 5,
   21,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 18, 2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 0, 3,
    OPC_EmitIntegerI32, ARM::SPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 4, 5,
   0,
  0,
 47|128,4, TARGET_VAL(ISD::STRICT_FP_TO_SINT),
  OPC_RecordNode,
  OPC_Scope, 84|128,3,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 80, TARGET_VAL(ISD::STRICT_FROUND),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_SwitchType , 23, MVT::f16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTASH),
                     MVT::f32, 1, 2,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 3, 4,
    23, MVT::f32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTASS),
                     MVT::f32, 1, 2,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 3, 4,
    23, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTASD),
                     MVT::f32, 1, 2,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 3, 4,
    0,
   69, TARGET_VAL(ISD::FROUND),
    OPC_RecordChild0,
    OPC_SwitchType , 20, MVT::f16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTASH),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    20, MVT::f32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTASS),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    20, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTASD),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    0,
   80, TARGET_VAL(ISD::STRICT_FCEIL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_SwitchType , 23, MVT::f16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTPSH),
                     MVT::f32, 1, 2,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 3, 4,
    23, MVT::f32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTPSS),
                     MVT::f32, 1, 2,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 3, 4,
    23, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTPSD),
                     MVT::f32, 1, 2,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 3, 4,
    0,
   69, TARGET_VAL(ISD::FCEIL),
    OPC_RecordChild0,
    OPC_SwitchType , 20, MVT::f16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTPSH),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    20, MVT::f32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTPSS),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    20, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTPSD),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    0,
   80, TARGET_VAL(ISD::STRICT_FFLOOR),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_SwitchType , 23, MVT::f16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTMSH),
                     MVT::f32, 1, 2,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 3, 4,
    23, MVT::f32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTMSS),
                     MVT::f32, 1, 2,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 3, 4,
    23, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTMSD),
                     MVT::f32, 1, 2,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 3, 4,
    0,
   69, TARGET_VAL(ISD::FFLOOR),
    OPC_RecordChild0,
    OPC_SwitchType , 20, MVT::f16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTMSH),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    20, MVT::f32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTMSS),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    20, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTMSD),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    0,
   0,
  85,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_Scope, 26,
    OPC_CheckChild1Type, MVT::f64,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VTOSIZD),
                    MVT::f32, 3, 1, 2, 3,
    OPC_EmitIntegerI32, ARM::GPRRegClassID,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 4, 5,
   26,
    OPC_CheckChild1Type, MVT::f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VTOSIZS),
                    MVT::f32, 3, 1, 2, 3,
    OPC_EmitIntegerI32, ARM::GPRRegClassID,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 4, 5,
   26,
    OPC_CheckChild1Type, MVT::f16,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VTOSIZH),
                    MVT::f32, 3, 1, 2, 3,
    OPC_EmitIntegerI32, ARM::GPRRegClassID,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 4, 5,
   0,
  0,
 104|128,5, TARGET_VAL(ISD::FP_TO_SINT),
  OPC_Scope, 45|128,3,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 70, TARGET_VAL(ISD::STRICT_FROUND),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_SwitchType , 20, MVT::f16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTASH),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    20, MVT::f32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTASS),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    20, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTASD),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    0,
   66, TARGET_VAL(ISD::FROUND),
    OPC_RecordChild0,
    OPC_SwitchType , 19, MVT::f16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTASH),
                     MVT::f32, 1, 0,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 1, 2,
    19, MVT::f32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTASS),
                     MVT::f32, 1, 0,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 1, 2,
    19, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTASD),
                     MVT::f32, 1, 0,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 1, 2,
    0,
   70, TARGET_VAL(ISD::STRICT_FCEIL),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_SwitchType , 20, MVT::f16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTPSH),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    20, MVT::f32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTPSS),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    20, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTPSD),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    0,
   66, TARGET_VAL(ISD::FCEIL),
    OPC_RecordChild0,
    OPC_SwitchType , 19, MVT::f16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTPSH),
                     MVT::f32, 1, 0,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 1, 2,
    19, MVT::f32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTPSS),
                     MVT::f32, 1, 0,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 1, 2,
    19, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTPSD),
                     MVT::f32, 1, 0,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 1, 2,
    0,
   70, TARGET_VAL(ISD::STRICT_FFLOOR),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_SwitchType , 20, MVT::f16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTMSH),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    20, MVT::f32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTMSS),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    20, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTMSD),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    0,
   66, TARGET_VAL(ISD::FFLOOR),
    OPC_RecordChild0,
    OPC_SwitchType , 19, MVT::f16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTMSH),
                     MVT::f32, 1, 0,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 1, 2,
    19, MVT::f32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTMSS),
                     MVT::f32, 1, 0,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 1, 2,
    19, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTMSD),
                     MVT::f32, 1, 0,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 1, 2,
    0,
   0,
  53|128,2,
   OPC_RecordChild0,
   OPC_Scope, 26,
    OPC_CheckChild0Type, MVT::f64,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VTOSIZD),
                    MVT::f32, 3, 0, 1, 2,
    OPC_EmitIntegerI32, ARM::GPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 3, 4,
   71,
    OPC_CheckChild0Type, MVT::f32,
    OPC_CheckTypeI32,
    OPC_Scope, 23,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VTOSIZS),
                     MVT::f32, 3, 0, 1, 2,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 3, 4,
    41,
     OPC_CheckPatternPredicate, 53,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     2|128,1, 0,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     2|128,1, 3, 1, 0, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTf2sd),
                     2|128,1, 3, 3, 4, 5,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 6, 7,
    0,
   26,
    OPC_CheckChild0Type, MVT::f16,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VTOSIZH),
                    MVT::f32, 3, 0, 1, 2,
    OPC_EmitIntegerI32, ARM::GPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 3, 4,
   18,
    OPC_CheckChild0Type, 2|128,1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTf2sd),
                    MVT::v2i32, 3, 0, 1, 2,
   70,
    OPC_CheckChild0Type, 4|128,1,
    OPC_SwitchType , 39, MVT::v4i32,
     OPC_Scope, 13,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTf2sq),
                      MVT::v4i32, 3, 0, 1, 2,
     22,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs32f32z),
                      MVT::v4i32, 5, 0, 1, 2, 3, 4,
     0,
    22, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   18,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTh2sd),
                    MVT::v4i16, 3, 0, 1, 2,
   70,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_SwitchType , 40, MVT::v8i16,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTh2sq),
                      MVT::v8i16, 3, 0, 1, 2,
     22,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs16f16z),
                      MVT::v8i16, 5, 0, 1, 2, 3, 4,
     0,
    22, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  0,
 47|128,4, TARGET_VAL(ISD::STRICT_FP_TO_UINT),
  OPC_RecordNode,
  OPC_Scope, 84|128,3,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 80, TARGET_VAL(ISD::STRICT_FROUND),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_SwitchType , 23, MVT::f16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTAUH),
                     MVT::f32, 1, 2,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 3, 4,
    23, MVT::f32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTAUS),
                     MVT::f32, 1, 2,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 3, 4,
    23, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTAUD),
                     MVT::f32, 1, 2,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 3, 4,
    0,
   69, TARGET_VAL(ISD::FROUND),
    OPC_RecordChild0,
    OPC_SwitchType , 20, MVT::f16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTAUH),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    20, MVT::f32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTAUS),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    20, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTAUD),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    0,
   80, TARGET_VAL(ISD::STRICT_FCEIL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_SwitchType , 23, MVT::f16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTPUH),
                     MVT::f32, 1, 2,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 3, 4,
    23, MVT::f32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTPUS),
                     MVT::f32, 1, 2,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 3, 4,
    23, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTPUD),
                     MVT::f32, 1, 2,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 3, 4,
    0,
   69, TARGET_VAL(ISD::FCEIL),
    OPC_RecordChild0,
    OPC_SwitchType , 20, MVT::f16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTPUH),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    20, MVT::f32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTPUS),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    20, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTPUD),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    0,
   80, TARGET_VAL(ISD::STRICT_FFLOOR),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_SwitchType , 23, MVT::f16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTMUH),
                     MVT::f32, 1, 2,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 3, 4,
    23, MVT::f32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTMUS),
                     MVT::f32, 1, 2,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 3, 4,
    23, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTMUD),
                     MVT::f32, 1, 2,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 3, 4,
    0,
   69, TARGET_VAL(ISD::FFLOOR),
    OPC_RecordChild0,
    OPC_SwitchType , 20, MVT::f16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTMUH),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    20, MVT::f32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTMUS),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    20, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTMUD),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    0,
   0,
  85,
   OPC_RecordChild1,
   OPC_CheckTypeI32,
   OPC_Scope, 26,
    OPC_CheckChild1Type, MVT::f64,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VTOUIZD),
                    MVT::f32, 3, 1, 2, 3,
    OPC_EmitIntegerI32, ARM::GPRRegClassID,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 4, 5,
   26,
    OPC_CheckChild1Type, MVT::f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VTOUIZS),
                    MVT::f32, 3, 1, 2, 3,
    OPC_EmitIntegerI32, ARM::GPRRegClassID,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 4, 5,
   26,
    OPC_CheckChild1Type, MVT::f16,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VTOUIZH),
                    MVT::f32, 3, 1, 2, 3,
    OPC_EmitIntegerI32, ARM::GPRRegClassID,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 4, 5,
   0,
  0,
 104|128,5, TARGET_VAL(ISD::FP_TO_UINT),
  OPC_Scope, 45|128,3,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 70, TARGET_VAL(ISD::STRICT_FROUND),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_SwitchType , 20, MVT::f16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTAUH),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    20, MVT::f32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTAUS),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    20, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTAUD),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    0,
   66, TARGET_VAL(ISD::FROUND),
    OPC_RecordChild0,
    OPC_SwitchType , 19, MVT::f16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTAUH),
                     MVT::f32, 1, 0,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 1, 2,
    19, MVT::f32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTAUS),
                     MVT::f32, 1, 0,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 1, 2,
    19, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTAUD),
                     MVT::f32, 1, 0,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 1, 2,
    0,
   70, TARGET_VAL(ISD::STRICT_FCEIL),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_SwitchType , 20, MVT::f16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTPUH),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    20, MVT::f32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTPUS),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    20, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTPUD),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    0,
   66, TARGET_VAL(ISD::FCEIL),
    OPC_RecordChild0,
    OPC_SwitchType , 19, MVT::f16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTPUH),
                     MVT::f32, 1, 0,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 1, 2,
    19, MVT::f32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTPUS),
                     MVT::f32, 1, 0,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 1, 2,
    19, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTPUD),
                     MVT::f32, 1, 0,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 1, 2,
    0,
   70, TARGET_VAL(ISD::STRICT_FFLOOR),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_SwitchType , 20, MVT::f16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTMUH),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    20, MVT::f32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTMUS),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    20, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTMUD),
                     MVT::f32, 1, 1,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 2, 3,
    0,
   66, TARGET_VAL(ISD::FFLOOR),
    OPC_RecordChild0,
    OPC_SwitchType , 19, MVT::f16,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTMUH),
                     MVT::f32, 1, 0,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 1, 2,
    19, MVT::f32,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 16,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTMUS),
                     MVT::f32, 1, 0,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 1, 2,
    19, MVT::f64,
     OPC_MoveParent,
     OPC_CheckTypeI32,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTMUD),
                     MVT::f32, 1, 0,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 1, 2,
    0,
   0,
  53|128,2,
   OPC_RecordChild0,
   OPC_Scope, 26,
    OPC_CheckChild0Type, MVT::f64,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VTOUIZD),
                    MVT::f32, 3, 0, 1, 2,
    OPC_EmitIntegerI32, ARM::GPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 3, 4,
   71,
    OPC_CheckChild0Type, MVT::f32,
    OPC_CheckTypeI32,
    OPC_Scope, 23,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VTOUIZS),
                     MVT::f32, 3, 0, 1, 2,
     OPC_EmitIntegerI32, ARM::GPRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 3, 4,
    41,
     OPC_CheckPatternPredicate, 53,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     2|128,1, 0,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     2|128,1, 3, 1, 0, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTf2ud),
                     2|128,1, 3, 3, 4, 5,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::i32, 2, 6, 7,
    0,
   26,
    OPC_CheckChild0Type, MVT::f16,
    OPC_CheckTypeI32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VTOUIZH),
                    MVT::f32, 3, 0, 1, 2,
    OPC_EmitIntegerI32, ARM::GPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 3, 4,
   18,
    OPC_CheckChild0Type, 2|128,1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTf2ud),
                    MVT::v2i32, 3, 0, 1, 2,
   70,
    OPC_CheckChild0Type, 4|128,1,
    OPC_SwitchType , 39, MVT::v4i32,
     OPC_Scope, 13,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTf2uq),
                      MVT::v4i32, 3, 0, 1, 2,
     22,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu32f32z),
                      MVT::v4i32, 5, 0, 1, 2, 3, 4,
     0,
    22, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   18,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTh2ud),
                    MVT::v4i16, 3, 0, 1, 2,
   70,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_SwitchType , 40, MVT::v8i16,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTh2uq),
                      MVT::v8i16, 3, 0, 1, 2,
     22,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu16f16z),
                      MVT::v8i16, 5, 0, 1, 2, 3, 4,
     0,
    22, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  0,
 49|128,2, TARGET_VAL(ISD::Constant),
  OPC_RecordNode,
  OPC_CheckTypeI32,
  OPC_Scope, 19,
   OPC_CheckPredicate, 13,
   OPC_CheckPatternPredicate4,
   OPC_EmitConvertToTarget0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2MOVi),
                   MVT::i32, 4, 1, 2, 3, 4,
  19,
   OPC_CheckPredicate, 20,
   OPC_CheckPatternPredicate3,
   OPC_EmitConvertToTarget0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MOVi),
                   MVT::i32, 4, 1, 2, 3, 4,
  17,
   OPC_CheckPredicate, 51,
   OPC_CheckPatternPredicate, 43,
   OPC_EmitConvertToTarget0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MOVi16),
                   MVT::i32, 3, 1, 2, 3,
  22,
   OPC_CheckPredicate, 63,
   OPC_CheckPatternPredicate3,
   OPC_EmitConvertToTarget0,
   OPC_EmitNodeXForm, 9, 1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVNi),
                   MVT::i32, 4, 2, 3, 4, 5,
  10,
   OPC_CheckPredicate, 108,
   OPC_CheckPatternPredicate3,
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MOVi32imm),
                   MVT::i32, 1, 1,
  20,
   OPC_CheckPredicate, 47,
   OPC_CheckPatternPredicate, 12,
   OPC_EmitRegisterI32, ARM::CPSR,
   OPC_EmitConvertToTarget0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::tMOVi8),
                   MVT::i32, 4, 1, 2, 3, 4,
  17,
   OPC_CheckPredicate, 51,
   OPC_CheckPatternPredicate, 42,
   OPC_EmitConvertToTarget0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2MOVi16),
                   MVT::i32, 3, 1, 2, 3,
  22,
   OPC_CheckPredicate, 55,
   OPC_CheckPatternPredicate4,
   OPC_EmitConvertToTarget0,
   OPC_EmitNodeXForm, 1, 1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2MVNi),
                   MVT::i32, 4, 2, 3, 4, 5,
  43,
   OPC_CheckPredicate, 109,
   OPC_CheckPatternPredicate, 12,
   OPC_EmitRegisterI32, ARM::CPSR,
   OPC_EmitRegisterI32, ARM::CPSR,
   OPC_EmitConvertToTarget0,
   OPC_EmitNodeXForm, 21, 3,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::tMOVi8),
                   MVT::i32, 4, 2, 4, 5, 6,
   OPC_EmitConvertToTarget0,
   OPC_EmitNodeXForm, 22, 8,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::tLSLri),
                   MVT::i32, 5, 1, 7, 9, 10, 11,
  38,
   OPC_CheckPredicate, 110,
   OPC_CheckPatternPredicate, 12,
   OPC_EmitRegisterI32, ARM::CPSR,
   OPC_EmitRegisterI32, ARM::CPSR,
   OPC_EmitConvertToTarget0,
   OPC_EmitNodeXForm, 9, 3,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::tMOVi8),
                   MVT::i32, 4, 2, 4, 5, 6,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::tMVN),
                   MVT::i32, 4, 1, 7, 8, 9,
  42,
   OPC_CheckPredicate, 111,
   OPC_CheckPatternPredicate, 12,
   OPC_EmitRegisterI32, ARM::CPSR,
   OPC_EmitRegisterI32, ARM::CPSR,
   OPC_EmitIntegerI32, 127|128,1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::tMOVi8),
                   MVT::i32, 4, 2, 3, 4, 5,
   OPC_EmitConvertToTarget0,
   OPC_EmitNodeXForm, 23, 7,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::tADDi8),
                   MVT::i32, 5, 1, 6, 8, 9, 10,
  10,
   OPC_CheckPatternPredicate, 132,
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::tMOVi32imm),
                   MVT::i32, MVT::i32, 1, 1,
  9,
   OPC_CheckPatternPredicate, 133,
   OPC_EmitConvertToTarget0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2MOVi32imm),
                   MVT::i32, 1, 1,
  0,
 18, TARGET_VAL(ISD::TRAP),
  OPC_RecordNode,
  OPC_Scope, 6,
   OPC_CheckPatternPredicate3,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::TRAP),
                   0,
  7,
   OPC_CheckPatternPredicate, 52,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::tTRAP),
                   0,
  0,
 49, TARGET_VAL(ISD::DEBUGTRAP),
  OPC_RecordNode,
  OPC_Scope, 10,
   OPC_CheckPatternPredicate, 83,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::BKPT),
                   1, 1,
  11,
   OPC_CheckPatternPredicate, 134,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 126|128,1,
   OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::UDF),
                   1, 1,
  10,
   OPC_CheckPatternPredicate, 135,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::tBKPT),
                   1, 1,
  11,
   OPC_CheckPatternPredicate, 136,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 126|128,1,
   OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::tUDF),
                   1, 1,
  0,
 49, TARGET_VAL(ARMISD::RET_GLUE),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_Scope, 14,
   OPC_CheckPatternPredicate, 84,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo0, TARGET_VAL(ARM::BX_RET), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
                   2, 1, 2,
  14,
   OPC_CheckPatternPredicate, 85,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo0, TARGET_VAL(ARM::MOVPCLR), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
                   2, 1, 2,
  14,
   OPC_CheckPatternPredicate, 52,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo0, TARGET_VAL(ARM::tBX_RET), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
                   2, 1, 2,
  0,
 38, TARGET_VAL(ISD::BRIND),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_Scope, 8,
   OPC_CheckPatternPredicate, 84,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::BX),
                   1, 1,
  8,
   OPC_CheckPatternPredicate, 85,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::MOVPCRX),
                   1, 1,
  14,
   OPC_CheckPatternPredicate, 52,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::tBRIND),
                   3, 1, 2, 3,
  0,
 47, TARGET_VAL(ISD::BR),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
  OPC_MoveParent,
  OPC_Scope, 7,
   OPC_CheckPatternPredicate3,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::B),
                   1, 1,
  14,
   OPC_CheckPatternPredicate, 12,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::tB),
                   3, 1, 2, 3,
  14,
   OPC_CheckPatternPredicate, 42,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::t2B),
                   3, 1, 2, 3,
  0,
 34, TARGET_VAL(ARMISD::RRX),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_Scope, 9,
   OPC_CheckPatternPredicate3,
   OPC_EmitCopyToReg1, ARM::CPSR,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::RRX),
                   MVT::i32, 1, 0,
  18,
   OPC_CheckPatternPredicate4,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitCopyToReg1, ARM::CPSR,
   OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::t2RRX),
                   MVT::i32, 4, 0, 2, 3, 4,
  0,
 28, TARGET_VAL(ARMISD::LSRS1),
  OPC_RecordChild0,
  OPC_CheckTypeI32,
  OPC_Scope, 8,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::LSRs1),
                   MVT::i32, MVT::i32, 1, 0,
  14,
   OPC_CheckPatternPredicate4,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::t2LSRs1),
                   MVT::i32, MVT::i32, 3, 0, 1, 2,
  0,
 28, TARGET_VAL(ARMISD::ASRS1),
  OPC_RecordChild0,
  OPC_CheckTypeI32,
  OPC_Scope, 8,
   OPC_CheckPatternPredicate3,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::ASRs1),
                   MVT::i32, MVT::i32, 1, 0,
  14,
   OPC_CheckPatternPredicate4,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::t2ASRs1),
                   MVT::i32, MVT::i32, 3, 0, 1, 2,
  0,
 35, TARGET_VAL(ARMISD::QADD8b),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 15,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::QADD8),
                   MVT::i32, 4, 0, 1, 2, 3,
  14,
   OPC_CheckPatternPredicate5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2QADD8),
                   MVT::i32, 4, 0, 1, 2, 3,
  0,
 35, TARGET_VAL(ARMISD::QSUB8b),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 15,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::QSUB8),
                   MVT::i32, 4, 0, 1, 2, 3,
  14,
   OPC_CheckPatternPredicate5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2QSUB8),
                   MVT::i32, 4, 0, 1, 2, 3,
  0,
 35, TARGET_VAL(ARMISD::QADD16b),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 15,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::QADD16),
                   MVT::i32, 4, 0, 1, 2, 3,
  14,
   OPC_CheckPatternPredicate5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2QADD16),
                   MVT::i32, 4, 0, 1, 2, 3,
  0,
 35, TARGET_VAL(ARMISD::QSUB16b),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 15,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::QSUB16),
                   MVT::i32, 4, 0, 1, 2, 3,
  14,
   OPC_CheckPatternPredicate5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2QSUB16),
                   MVT::i32, 4, 0, 1, 2, 3,
  0,
 35, TARGET_VAL(ARMISD::UQADD8b),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 15,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::UQADD8),
                   MVT::i32, 4, 0, 1, 2, 3,
  14,
   OPC_CheckPatternPredicate5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UQADD8),
                   MVT::i32, 4, 0, 1, 2, 3,
  0,
 35, TARGET_VAL(ARMISD::UQSUB8b),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 15,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::UQSUB8),
                   MVT::i32, 4, 0, 1, 2, 3,
  14,
   OPC_CheckPatternPredicate5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UQSUB8),
                   MVT::i32, 4, 0, 1, 2, 3,
  0,
 35, TARGET_VAL(ARMISD::UQADD16b),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 15,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::UQADD16),
                   MVT::i32, 4, 0, 1, 2, 3,
  14,
   OPC_CheckPatternPredicate5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UQADD16),
                   MVT::i32, 4, 0, 1, 2, 3,
  0,
 35, TARGET_VAL(ARMISD::UQSUB16b),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_Scope, 15,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::UQSUB16),
                   MVT::i32, 4, 0, 1, 2, 3,
  14,
   OPC_CheckPatternPredicate5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UQSUB16),
                   MVT::i32, 4, 0, 1, 2, 3,
  0,
 61, TARGET_VAL(ISD::SMUL_LOHI),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckTypeI32,
  OPC_Scope, 19,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::SMULL),
                   MVT::i32, MVT::i32, 5, 0, 1, 2, 3, 4,
  19,
   OPC_CheckPatternPredicate, 68,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::SMULLv5),
                   MVT::i32, MVT::i32, 5, 0, 1, 2, 3, 4,
  15,
   OPC_CheckPatternPredicate4,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::t2SMULL),
                   MVT::i32, MVT::i32, 4, 0, 1, 2, 3,
  0,
 61, TARGET_VAL(ISD::UMUL_LOHI),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckTypeI32,
  OPC_Scope, 19,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::UMULL),
                   MVT::i32, MVT::i32, 5, 0, 1, 2, 3, 4,
  19,
   OPC_CheckPatternPredicate, 68,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::UMULLv5),
                   MVT::i32, MVT::i32, 5, 0, 1, 2, 3, 4,
  15,
   OPC_CheckPatternPredicate4,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::t2UMULL),
                   MVT::i32, MVT::i32, 4, 0, 1, 2, 3,
  0,
 114, TARGET_VAL(ISD::MULHS),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 33, MVT::i32,
   OPC_Scope, 15,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMMUL),
                    MVT::i32, 4, 0, 1, 2, 3,
   14,
    OPC_CheckPatternPredicate5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMMUL),
                    MVT::i32, 4, 0, 1, 2, 3,
   0,
  23, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULHs8),
                   MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
  23, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULHs16),
                   MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
  23, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULHs32),
                   MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
  0,
 39, TARGET_VAL(ARMISD::SMMLSR),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_Scope, 16,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMMLSR),
                   MVT::i32, 5, 0, 1, 2, 3, 4,
  16,
   OPC_CheckPatternPredicate, 28,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMMLSR),
                   MVT::i32, 5, 0, 1, 2, 3, 4,
  0,
 36, TARGET_VAL(ARMISD::SMULWB),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckTypeI32,
  OPC_Scope, 15,
   OPC_CheckPatternPredicate, 19,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMULWB),
                   MVT::i32, 4, 0, 1, 2, 3,
  14,
   OPC_CheckPatternPredicate5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMULWB),
                   MVT::i32, 4, 0, 1, 2, 3,
  0,
 36, TARGET_VAL(ARMISD::SMULWT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckTypeI32,
  OPC_Scope, 15,
   OPC_CheckPatternPredicate, 19,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::SMULWT),
                   MVT::i32, 4, 0, 1, 2, 3,
  14,
   OPC_CheckPatternPredicate5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SMULWT),
                   MVT::i32, 4, 0, 1, 2, 3,
  0,
 43, TARGET_VAL(ARMISD::SMLALBB),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_Scope, 18,
   OPC_CheckPatternPredicate, 19,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::SMLALBB),
                   MVT::i32, MVT::i32, 6, 0, 1, 2, 3, 4, 5,
  17,
   OPC_CheckPatternPredicate5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::t2SMLALBB),
                   MVT::i32, MVT::i32, 6, 0, 1, 2, 3, 4, 5,
  0,
 43, TARGET_VAL(ARMISD::SMLALBT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_Scope, 18,
   OPC_CheckPatternPredicate, 19,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::SMLALBT),
                   MVT::i32, MVT::i32, 6, 0, 1, 2, 3, 4, 5,
  17,
   OPC_CheckPatternPredicate5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::t2SMLALBT),
                   MVT::i32, MVT::i32, 6, 0, 1, 2, 3, 4, 5,
  0,
 43, TARGET_VAL(ARMISD::SMLALTB),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_Scope, 18,
   OPC_CheckPatternPredicate, 19,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::SMLALTB),
                   MVT::i32, MVT::i32, 6, 0, 1, 2, 3, 4, 5,
  17,
   OPC_CheckPatternPredicate5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::t2SMLALTB),
                   MVT::i32, MVT::i32, 6, 0, 1, 2, 3, 4, 5,
  0,
 43, TARGET_VAL(ARMISD::SMLALTT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_Scope, 18,
   OPC_CheckPatternPredicate, 19,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::SMLALTT),
                   MVT::i32, MVT::i32, 6, 0, 1, 2, 3, 4, 5,
  17,
   OPC_CheckPatternPredicate5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::t2SMLALTT),
                   MVT::i32, MVT::i32, 6, 0, 1, 2, 3, 4, 5,
  0,
 43, TARGET_VAL(ARMISD::SMLALD),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_Scope, 18,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::SMLALD),
                   MVT::i32, MVT::i32, 6, 0, 1, 2, 3, 4, 5,
  17,
   OPC_CheckPatternPredicate5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::t2SMLALD),
                   MVT::i32, MVT::i32, 6, 0, 1, 2, 3, 4, 5,
  0,
 43, TARGET_VAL(ARMISD::SMLALDX),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_Scope, 18,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::SMLALDX),
                   MVT::i32, MVT::i32, 6, 0, 1, 2, 3, 4, 5,
  17,
   OPC_CheckPatternPredicate5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::t2SMLALDX),
                   MVT::i32, MVT::i32, 6, 0, 1, 2, 3, 4, 5,
  0,
 43, TARGET_VAL(ARMISD::SMLSLD),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_Scope, 18,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::SMLSLD),
                   MVT::i32, MVT::i32, 6, 0, 1, 2, 3, 4, 5,
  17,
   OPC_CheckPatternPredicate5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::t2SMLSLD),
                   MVT::i32, MVT::i32, 6, 0, 1, 2, 3, 4, 5,
  0,
 43, TARGET_VAL(ARMISD::SMLSLDX),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_Scope, 18,
   OPC_CheckPatternPredicate, 9,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::SMLSLDX),
                   MVT::i32, MVT::i32, 6, 0, 1, 2, 3, 4, 5,
  17,
   OPC_CheckPatternPredicate5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::t2SMLSLDX),
                   MVT::i32, MVT::i32, 6, 0, 1, 2, 3, 4, 5,
  0,
 37, TARGET_VAL(ISD::SDIV),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckTypeI32,
  OPC_Scope, 15,
   OPC_CheckPatternPredicate, 104,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::SDIV),
                   MVT::i32, 4, 0, 1, 2, 3,
  15,
   OPC_CheckPatternPredicate, 105,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2SDIV),
                   MVT::i32, 4, 0, 1, 2, 3,
  0,
 37, TARGET_VAL(ISD::UDIV),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckTypeI32,
  OPC_Scope, 15,
   OPC_CheckPatternPredicate, 104,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::UDIV),
                   MVT::i32, 4, 0, 1, 2, 3,
  15,
   OPC_CheckPatternPredicate, 105,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2UDIV),
                   MVT::i32, 4, 0, 1, 2, 3,
  0,
 88|128,1, TARGET_VAL(ISD::CTLZ),
  OPC_RecordChild0,
  OPC_SwitchType , 31, MVT::i32,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate, 83,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::CLZ),
                    MVT::i32, 3, 0, 1, 2,
   13,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2CLZ),
                    MVT::i32, 3, 0, 1, 2,
   0,
  15, MVT::v8i8,
   OPC_CheckChild0Type, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLZv8i8),
                   MVT::v8i8, 3, 0, 1, 2,
  15, MVT::v4i16,
   OPC_CheckChild0Type, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLZv4i16),
                   MVT::v4i16, 3, 0, 1, 2,
  15, MVT::v2i32,
   OPC_CheckChild0Type, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLZv2i32),
                   MVT::v2i32, 3, 0, 1, 2,
  41, MVT::v16i8,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLZv16i8),
                    MVT::v16i8, 3, 0, 1, 2,
   22,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCLZs8),
                    MVT::v16i8, 5, 0, 1, 2, 3, 4,
   0,
  41, MVT::v8i16,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLZv8i16),
                    MVT::v8i16, 3, 0, 1, 2,
   22,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCLZs16),
                    MVT::v8i16, 5, 0, 1, 2, 3, 4,
   0,
  41, MVT::v4i32,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLZv4i32),
                    MVT::v4i32, 3, 0, 1, 2,
   22,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCLZs32),
                    MVT::v4i32, 5, 0, 1, 2, 3, 4,
   0,
  0,
 34|128,1, TARGET_VAL(ISD::BITREVERSE),
  OPC_RecordChild0,
  OPC_SwitchType , 31, MVT::i32,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::RBIT),
                    MVT::i32, 3, 0, 1, 2,
   13,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2RBIT),
                    MVT::i32, 3, 0, 1, 2,
   0,
  40, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 8,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::t2MOVi),
                   MVT::i32, 4, 1, 2, 3, 4,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBRSR8),
                   MVT::v16i8, 6, 0, 5, 6, 7, 8, 9,
  40, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 32,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::t2MOVi),
                   MVT::i32, 4, 1, 2, 3, 4,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBRSR32),
                   MVT::v4i32, 6, 0, 5, 6, 7, 8, 9,
  40, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 16,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::t2MOVi),
                   MVT::i32, 4, 1, 2, 3, 4,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBRSR16),
                   MVT::v8i16, 6, 0, 5, 6, 7, 8, 9,
  0,
 99, TARGET_VAL(ISD::BSWAP),
  OPC_RecordChild0,
  OPC_SwitchType , 46, MVT::i32,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::REV),
                    MVT::i32, 3, 0, 1, 2,
   14,
    OPC_CheckPatternPredicate, 50,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::tREV),
                    MVT::i32, 3, 0, 1, 2,
   13,
    OPC_CheckPatternPredicate4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2REV),
                    MVT::i32, 3, 0, 1, 2,
   0,
  22, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV16_8),
                   MVT::v8i16, 5, 0, 1, 2, 3, 4,
  22, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV32_8),
                   MVT::v4i32, 5, 0, 1, 2, 3, 4,
  0,
 65|128,1, TARGET_VAL(ARMISD::THREAD_POINTER),
  OPC_CheckTypeI32,
  OPC_Scope, 7,
   OPC_CheckPatternPredicate, 137,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::TPsoft),
                   MVT::i32, 0,
  28,
   OPC_CheckPatternPredicate, 138,
   OPC_EmitIntegerI32, 15,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 13,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MRC),
                   MVT::i32, 7, 0, 1, 2, 3, 4, 5, 6,
  28,
   OPC_CheckPatternPredicate, 139,
   OPC_EmitIntegerI32, 15,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 13,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 3,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MRC),
                   MVT::i32, 7, 0, 1, 2, 3, 4, 5, 6,
  28,
   OPC_CheckPatternPredicate, 140,
   OPC_EmitIntegerI32, 15,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 13,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 4,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MRC),
                   MVT::i32, 7, 0, 1, 2, 3, 4, 5, 6,
  7,
   OPC_CheckPatternPredicate, 141,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::tTPsoft),
                   MVT::i32, 0,
  28,
   OPC_CheckPatternPredicate, 142,
   OPC_EmitIntegerI32, 15,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 13,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2MRC),
                   MVT::i32, 7, 0, 1, 2, 3, 4, 5, 6,
  28,
   OPC_CheckPatternPredicate, 143,
   OPC_EmitIntegerI32, 15,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 13,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 3,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2MRC),
                   MVT::i32, 7, 0, 1, 2, 3, 4, 5, 6,
  28,
   OPC_CheckPatternPredicate, 144,
   OPC_EmitIntegerI32, 15,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 13,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 4,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2MRC),
                   MVT::i32, 7, 0, 1, 2, 3, 4, 5, 6,
  0,
 39, TARGET_VAL(ARMISD::EH_SJLJ_LONGJMP),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI32,
  OPC_Scope, 9,
   OPC_CheckPatternPredicate3,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::Int_eh_sjlj_longjmp),
                   MVT::i32, 2, 1, 2,
  10,
   OPC_CheckPatternPredicate, 145,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::tInt_eh_sjlj_longjmp),
                   MVT::i32, 2, 1, 2,
  10,
   OPC_CheckPatternPredicate, 92,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::tInt_WIN_eh_sjlj_longjmp),
                   MVT::i32, 2, 1, 2,
  0,
 32, TARGET_VAL(ARMISD::MEMBARRIER_MCR),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_CheckPatternPredicate, 9,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitIntegerI32, 15,
  OPC_EmitIntegerI32, 0,
  OPC_EmitIntegerI32, 7,
  OPC_EmitIntegerI32, 10,
  OPC_EmitIntegerI32, 5,
  OPC_EmitIntegerI32, 14,
  OPC_EmitRegisterI32, 0 ,
  OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::MCR),
                  8, 2, 3, 1, 4, 5, 6, 7, 8,
 10, TARGET_VAL(ARMISD::SERET_GLUE),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_CheckPatternPredicate, 52,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0, TARGET_VAL(ARM::tBXNS_RET), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
                  0,
 14, TARGET_VAL(ARMISD::tSECALL),
  OPC_RecordNode,
  OPC_CaptureGlueInput,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_CheckPatternPredicate, 64,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1, TARGET_VAL(ARM::tBLXNS_CALL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                  MVT::i32, 1, 1,
 10, TARGET_VAL(ARMISD::WLSSETUP),
  OPC_RecordChild0,
  OPC_CheckTypeI32,
  OPC_CheckPatternPredicate, 66,
  OPC_MorphNodeTo1None, TARGET_VAL(ARM::t2WhileLoopSetup),
                  MVT::i32, 1, 0,
 19, TARGET_VAL(ARMISD::WLS),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_RecordChild2,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
  OPC_MoveParent,
  OPC_CheckPatternPredicate, 66,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2WhileLoopStart),
                  MVT::i32, 2, 1, 2,
 19, TARGET_VAL(ARMISD::LE),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_RecordChild2,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
  OPC_MoveParent,
  OPC_CheckPatternPredicate, 66,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2LoopEnd),
                  MVT::i32, 2, 1, 2,
 60, TARGET_VAL(ARMISD::CMPFPE),
  OPC_RecordChild0,
  OPC_Scope, 18,
   OPC_CheckChild0Type, MVT::f64,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCMPED),
                   MVT::i32, 4, 0, 1, 2, 3,
  18,
   OPC_CheckChild0Type, MVT::f32,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 34,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCMPES),
                   MVT::i32, 4, 0, 1, 2, 3,
  18,
   OPC_CheckChild0Type, MVT::f16,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCMPEH),
                   MVT::i32, 4, 0, 1, 2, 3,
  0,
 60, TARGET_VAL(ARMISD::CMPFP),
  OPC_RecordChild0,
  OPC_Scope, 18,
   OPC_CheckChild0Type, MVT::f64,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCMPD),
                   MVT::i32, 4, 0, 1, 2, 3,
  18,
   OPC_CheckChild0Type, MVT::f32,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 34,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCMPS),
                   MVT::i32, 4, 0, 1, 2, 3,
  18,
   OPC_CheckChild0Type, MVT::f16,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCMPH),
                   MVT::i32, 4, 0, 1, 2, 3,
  0,
 54, TARGET_VAL(ARMISD::CMPFPEw0),
  OPC_RecordChild0,
  OPC_Scope, 16,
   OPC_CheckChild0Type, MVT::f64,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCMPEZD),
                   MVT::i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Type, MVT::f32,
   OPC_CheckPatternPredicate, 34,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCMPEZS),
                   MVT::i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Type, MVT::f16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCMPEZH),
                   MVT::i32, 3, 0, 1, 2,
  0,
 54, TARGET_VAL(ARMISD::CMPFPw0),
  OPC_RecordChild0,
  OPC_Scope, 16,
   OPC_CheckChild0Type, MVT::f64,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCMPZD),
                   MVT::i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Type, MVT::f32,
   OPC_CheckPatternPredicate, 34,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCMPZS),
                   MVT::i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Type, MVT::f16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCMPZH),
                   MVT::i32, 3, 0, 1, 2,
  0,
 62|128,28, TARGET_VAL(ISD::BITCAST),
  OPC_Scope, 18,
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::f32,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 46,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVRS),
                   MVT::i32, 3, 0, 1, 2,
  29,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v2i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckType, MVT::f32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 18, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::f32, 2, 0, 3,
  9|128,28,
   OPC_RecordChild0,
   OPC_Scope, 28|128,1,
    OPC_CheckChild0Type, MVT::v1i64,
    OPC_SwitchType , 4, MVT::f64,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    22, MVT::v2i32,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d32),
                      MVT::v2i32, 3, 0, 1, 2,
     0,
    22, MVT::v4i16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d16),
                      MVT::v4i16, 3, 0, 1, 2,
     0,
    22, MVT::v8i8,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d8),
                      MVT::v8i8, 3, 0, 1, 2,
     0,
    23, 2|128,1,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     15,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d32),
                      2|128,1, 3, 0, 1, 2,
     0,
    22, MVT::v4f16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d16),
                      MVT::v4f16, 3, 0, 1, 2,
     0,
    22, MVT::v4bf16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d16),
                      MVT::v4bf16, 3, 0, 1, 2,
     0,
    0,
   27|128,1,
    OPC_CheckChild0Type, 2|128,1,
    OPC_SwitchType , 22, MVT::f64,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d32),
                      MVT::f64, 3, 0, 1, 2,
     0,
    4, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    22, MVT::v1i64,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d32),
                      MVT::v1i64, 3, 0, 1, 2,
     0,
    22, MVT::v4i16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32d16),
                      MVT::v4i16, 3, 0, 1, 2,
     0,
    22, MVT::v8i8,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32d8),
                      MVT::v8i8, 3, 0, 1, 2,
     0,
    22, MVT::v4f16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32d16),
                      MVT::v4f16, 3, 0, 1, 2,
     0,
    22, MVT::v4bf16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32d16),
                      MVT::v4bf16, 3, 0, 1, 2,
     0,
    0,
   27|128,1,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_SwitchType , 22, MVT::f64,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d32),
                      MVT::f64, 3, 0, 1, 2,
     0,
    22, MVT::v1i64,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d32),
                      MVT::v1i64, 3, 0, 1, 2,
     0,
    22, MVT::v4i16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32d16),
                      MVT::v4i16, 3, 0, 1, 2,
     0,
    22, MVT::v8i8,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32d8),
                      MVT::v8i8, 3, 0, 1, 2,
     0,
    4, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    22, MVT::v4f16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32d16),
                      MVT::v4f16, 3, 0, 1, 2,
     0,
    22, MVT::v4bf16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32d16),
                      MVT::v4bf16, 3, 0, 1, 2,
     0,
    0,
   4|128,1,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_SwitchType , 22, MVT::f64,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d16),
                      MVT::f64, 3, 0, 1, 2,
     0,
    4, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    22, MVT::v1i64,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d16),
                      MVT::v1i64, 3, 0, 1, 2,
     0,
    22, MVT::v2i32,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32d16),
                      MVT::v2i32, 3, 0, 1, 2,
     0,
    22, MVT::v8i8,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV16d8),
                      MVT::v8i8, 3, 0, 1, 2,
     0,
    23, 2|128,1,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     15,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32d16),
                      2|128,1, 3, 0, 1, 2,
     0,
    0,
   4|128,1,
    OPC_CheckChild0Type, MVT::v4bf16,
    OPC_SwitchType , 22, MVT::f64,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d16),
                      MVT::f64, 3, 0, 1, 2,
     0,
    4, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    22, MVT::v1i64,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d16),
                      MVT::v1i64, 3, 0, 1, 2,
     0,
    22, MVT::v2i32,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32d16),
                      MVT::v2i32, 3, 0, 1, 2,
     0,
    22, MVT::v8i8,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV16d8),
                      MVT::v8i8, 3, 0, 1, 2,
     0,
    23, 2|128,1,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     15,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32d16),
                      2|128,1, 3, 0, 1, 2,
     0,
    0,
   10|128,1,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_SwitchType , 22, MVT::f64,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d16),
                      MVT::f64, 3, 0, 1, 2,
     0,
    22, MVT::v1i64,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d16),
                      MVT::v1i64, 3, 0, 1, 2,
     0,
    22, MVT::v2i32,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32d16),
                      MVT::v2i32, 3, 0, 1, 2,
     0,
    22, MVT::v8i8,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV16d8),
                      MVT::v8i8, 3, 0, 1, 2,
     0,
    4, MVT::v4f16,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4, MVT::v4bf16,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    23, 2|128,1,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     15,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32d16),
                      2|128,1, 3, 0, 1, 2,
     0,
    0,
   46|128,1,
    OPC_CheckChild0Type, MVT::v8i8,
    OPC_SwitchType , 22, MVT::f64,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d8),
                      MVT::f64, 3, 0, 1, 2,
     0,
    22, MVT::v1i64,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d8),
                      MVT::v1i64, 3, 0, 1, 2,
     0,
    22, MVT::v2i32,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32d8),
                      MVT::v2i32, 3, 0, 1, 2,
     0,
    22, MVT::v4i16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV16d8),
                      MVT::v4i16, 3, 0, 1, 2,
     0,
    23, 2|128,1,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     15,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32d8),
                      2|128,1, 3, 0, 1, 2,
     0,
    22, MVT::v4f16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV16d8),
                      MVT::v4f16, 3, 0, 1, 2,
     0,
    22, MVT::v4bf16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV16d8),
                      MVT::v4bf16, 3, 0, 1, 2,
     0,
    0,
   45,
    OPC_CheckChild0TypeI32,
    OPC_CheckType, MVT::f32,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate, 106,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVSR),
                     MVT::f32, 3, 0, 1, 2,
    24,
     OPC_CheckPatternPredicate, 107,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VMOVDRR),
                     MVT::f64, 4, 0, 0, 1, 2,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f32, 2, 3, 4,
    0,
   28|128,1,
    OPC_CheckChild0Type, MVT::f64,
    OPC_SwitchType , 4, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    22, MVT::v2i32,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d32),
                      MVT::v2i32, 3, 0, 1, 2,
     0,
    22, MVT::v4i16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d16),
                      MVT::v4i16, 3, 0, 1, 2,
     0,
    22, MVT::v8i8,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d8),
                      MVT::v8i8, 3, 0, 1, 2,
     0,
    23, 2|128,1,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     15,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d32),
                      2|128,1, 3, 0, 1, 2,
     0,
    22, MVT::v4f16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d16),
                      MVT::v4f16, 3, 0, 1, 2,
     0,
    22, MVT::v4bf16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d16),
                      MVT::v4bf16, 3, 0, 1, 2,
     0,
    0,
   55|128,2,
    OPC_CheckChild0Type, 22|128,1,
    OPC_SwitchType , 12, MVT::v2i64,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate1,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate0,
      OPC_CompleteMatch, 1, 0,

     0,
    51, MVT::v4i32,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q32),
                      MVT::v4i32, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_32),
                      MVT::v4i32, 5, 0, 1, 2, 3, 4,
     0,
    51, MVT::v8i16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q16),
                      MVT::v8i16, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_16),
                      MVT::v8i16, 5, 0, 1, 2, 3, 4,
     0,
    51, MVT::v16i8,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q8),
                      MVT::v16i8, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_8),
                      MVT::v16i8, 5, 0, 1, 2, 3, 4,
     0,
    53, 4|128,1,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     15,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q32),
                      4|128,1, 3, 0, 1, 2,
     24,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_32),
                      4|128,1, 5, 0, 1, 2, 3, 4,
     0,
    51, MVT::v8f16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q16),
                      MVT::v8f16, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_16),
                      MVT::v8f16, 5, 0, 1, 2, 3, 4,
     0,
    22, MVT::v8bf16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q16),
                      MVT::v8bf16, 3, 0, 1, 2,
     0,
    0,
   55|128,2,
    OPC_CheckChild0Type, 4|128,1,
    OPC_SwitchType , 12, MVT::v4i32,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate1,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate0,
      OPC_CompleteMatch, 1, 0,

     0,
    51, MVT::v2i64,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q32),
                      MVT::v2i64, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_32),
                      MVT::v2i64, 5, 0, 1, 2, 3, 4,
     0,
    51, MVT::v8i16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32q16),
                      MVT::v8i16, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV32_16),
                      MVT::v8i16, 5, 0, 1, 2, 3, 4,
     0,
    51, MVT::v16i8,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32q8),
                      MVT::v16i8, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV32_8),
                      MVT::v16i8, 5, 0, 1, 2, 3, 4,
     0,
    53, 22|128,1,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     15,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q32),
                      22|128,1, 3, 0, 1, 2,
     24,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_32),
                      22|128,1, 5, 0, 1, 2, 3, 4,
     0,
    51, MVT::v8f16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32q16),
                      MVT::v8f16, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV32_16),
                      MVT::v8f16, 5, 0, 1, 2, 3, 4,
     0,
    22, MVT::v8bf16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32q16),
                      MVT::v8bf16, 3, 0, 1, 2,
     0,
    0,
   33|128,2,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_SwitchType , 12, MVT::v8i16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate1,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate0,
      OPC_CompleteMatch, 1, 0,

     0,
    51, MVT::v2i64,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q16),
                      MVT::v2i64, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_16),
                      MVT::v2i64, 5, 0, 1, 2, 3, 4,
     0,
    51, MVT::v4i32,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32q16),
                      MVT::v4i32, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV32_16),
                      MVT::v4i32, 5, 0, 1, 2, 3, 4,
     0,
    51, MVT::v16i8,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV16q8),
                      MVT::v16i8, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV16_8),
                      MVT::v16i8, 5, 0, 1, 2, 3, 4,
     0,
    53, 22|128,1,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     15,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q16),
                      22|128,1, 3, 0, 1, 2,
     24,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_16),
                      22|128,1, 5, 0, 1, 2, 3, 4,
     0,
    53, 4|128,1,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     15,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32q16),
                      4|128,1, 3, 0, 1, 2,
     24,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV32_16),
                      4|128,1, 5, 0, 1, 2, 3, 4,
     0,
    0,
   6|128,1,
    OPC_CheckChild0Type, MVT::v8bf16,
    OPC_SwitchType , 4, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    22, MVT::v2i64,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q16),
                      MVT::v2i64, 3, 0, 1, 2,
     0,
    22, MVT::v4i32,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32q16),
                      MVT::v4i32, 3, 0, 1, 2,
     0,
    22, MVT::v16i8,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV16q8),
                      MVT::v16i8, 3, 0, 1, 2,
     0,
    23, 22|128,1,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     15,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q16),
                      22|128,1, 3, 0, 1, 2,
     0,
    23, 4|128,1,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     15,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32q16),
                      4|128,1, 3, 0, 1, 2,
     0,
    0,
   55|128,2,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_SwitchType , 51, MVT::v2i64,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q32),
                      MVT::v2i64, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_32),
                      MVT::v2i64, 5, 0, 1, 2, 3, 4,
     0,
    51, MVT::v8i16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32q16),
                      MVT::v8i16, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV32_16),
                      MVT::v8i16, 5, 0, 1, 2, 3, 4,
     0,
    51, MVT::v16i8,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32q8),
                      MVT::v16i8, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV32_8),
                      MVT::v16i8, 5, 0, 1, 2, 3, 4,
     0,
    12, 4|128,1,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate1,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate0,
      OPC_CompleteMatch, 1, 0,

     0,
    53, 22|128,1,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     15,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q32),
                      22|128,1, 3, 0, 1, 2,
     24,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_32),
                      22|128,1, 5, 0, 1, 2, 3, 4,
     0,
    51, MVT::v8f16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32q16),
                      MVT::v8f16, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV32_16),
                      MVT::v8f16, 5, 0, 1, 2, 3, 4,
     0,
    22, MVT::v8bf16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32q16),
                      MVT::v8bf16, 3, 0, 1, 2,
     0,
    0,
   39|128,2,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_SwitchType , 51, MVT::v2i64,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q16),
                      MVT::v2i64, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_16),
                      MVT::v2i64, 5, 0, 1, 2, 3, 4,
     0,
    51, MVT::v4i32,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32q16),
                      MVT::v4i32, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV32_16),
                      MVT::v4i32, 5, 0, 1, 2, 3, 4,
     0,
    51, MVT::v16i8,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV16q8),
                      MVT::v16i8, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV16_8),
                      MVT::v16i8, 5, 0, 1, 2, 3, 4,
     0,
    12, MVT::v8f16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate1,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate0,
      OPC_CompleteMatch, 1, 0,

     0,
    4, MVT::v8bf16,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    53, 22|128,1,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     15,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q16),
                      22|128,1, 3, 0, 1, 2,
     24,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_16),
                      22|128,1, 5, 0, 1, 2, 3, 4,
     0,
    53, 4|128,1,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     15,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32q16),
                      4|128,1, 3, 0, 1, 2,
     24,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV32_16),
                      4|128,1, 5, 0, 1, 2, 3, 4,
     0,
    0,
   96|128,2,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_SwitchType , 51, MVT::v2i64,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q8),
                      MVT::v2i64, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_8),
                      MVT::v2i64, 5, 0, 1, 2, 3, 4,
     0,
    51, MVT::v4i32,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32q8),
                      MVT::v4i32, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV32_8),
                      MVT::v4i32, 5, 0, 1, 2, 3, 4,
     0,
    51, MVT::v8i16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV16q8),
                      MVT::v8i16, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV16_8),
                      MVT::v8i16, 5, 0, 1, 2, 3, 4,
     0,
    53, 22|128,1,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     15,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q8),
                      22|128,1, 3, 0, 1, 2,
     24,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_8),
                      22|128,1, 5, 0, 1, 2, 3, 4,
     0,
    53, 4|128,1,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     15,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32q8),
                      4|128,1, 3, 0, 1, 2,
     24,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV32_8),
                      4|128,1, 5, 0, 1, 2, 3, 4,
     0,
    51, MVT::v8f16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV16q8),
                      MVT::v8f16, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV16_8),
                      MVT::v8f16, 5, 0, 1, 2, 3, 4,
     0,
    22, MVT::v8bf16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV16q8),
                      MVT::v8bf16, 3, 0, 1, 2,
     0,
    0,
   55|128,2,
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_SwitchType , 51, MVT::v4i32,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q32),
                      MVT::v4i32, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_32),
                      MVT::v4i32, 5, 0, 1, 2, 3, 4,
     0,
    51, MVT::v8i16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q16),
                      MVT::v8i16, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_16),
                      MVT::v8i16, 5, 0, 1, 2, 3, 4,
     0,
    51, MVT::v16i8,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q8),
                      MVT::v16i8, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_8),
                      MVT::v16i8, 5, 0, 1, 2, 3, 4,
     0,
    12, 22|128,1,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate1,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate0,
      OPC_CompleteMatch, 1, 0,

     0,
    53, 4|128,1,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     15,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q32),
                      4|128,1, 3, 0, 1, 2,
     24,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_32),
                      4|128,1, 5, 0, 1, 2, 3, 4,
     0,
    51, MVT::v8f16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     4,
      OPC_CheckPatternPredicate7,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q16),
                      MVT::v8f16, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate, 14,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_16),
                      MVT::v8f16, 5, 0, 1, 2, 3, 4,
     0,
    22, MVT::v8bf16,
     OPC_Scope, 4,
      OPC_CheckPatternPredicate6,
      OPC_CompleteMatch, 1, 0,

     14,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q16),
                      MVT::v8bf16, 3, 0, 1, 2,
     0,
    0,
   0,
  0,
 16, TARGET_VAL(ARMISD::VMOVRRD),
  OPC_RecordChild0,
  OPC_CheckPatternPredicate, 46,
  OPC_EmitIntegerI32, 14,
  OPC_EmitRegisterI32, 0 ,
  OPC_MorphNodeTo2None, TARGET_VAL(ARM::VMOVRRD),
                  MVT::i32, MVT::i32, 3, 0, 1, 2,
 37, TARGET_VAL(ARMISD::VMOVrh),
  OPC_RecordChild0,
  OPC_Scope, 16,
   OPC_CheckChild0Type, MVT::f16,
   OPC_CheckPatternPredicate, 54,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVRH),
                   MVT::i32, 3, 0, 1, 2,
  16,
   OPC_CheckChild0Type, MVT::bf16,
   OPC_CheckPatternPredicate, 54,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVRH),
                   MVT::i32, 3, 0, 1, 2,
  0,
 16, TARGET_VAL(ARMISD::FMSTAT),
  OPC_RecordChild0,
  OPC_CheckPatternPredicate, 46,
  OPC_EmitIntegerI32, 14,
  OPC_EmitRegisterI32, 0 ,
  OPC_EmitCopyToReg0, ARM::FPSCR_NZCV,
  OPC_MorphNodeTo1GlueInput, TARGET_VAL(ARM::FMSTAT),
                  MVT::i32, 2, 1, 2,
 14, TARGET_VAL(ISD::GET_FPENV),
  OPC_RecordNode,
  OPC_CheckTypeI32,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitIntegerI32, 14,
  OPC_EmitRegisterI32, 0 ,
  OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMRS),
                  MVT::i32, 2, 1, 2,
 16, TARGET_VAL(ISD::SET_FPENV),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitIntegerI32, 14,
  OPC_EmitRegisterI32, 0 ,
  OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMSR),
                  MVT::i32, 3, 1, 2, 3,
 14, TARGET_VAL(ISD::GET_FPMODE),
  OPC_RecordNode,
  OPC_CheckTypeI32,
  OPC_EmitMergeInputChains1_0,
  OPC_EmitIntegerI32, 14,
  OPC_EmitRegisterI32, 0 ,
  OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMRS),
                  MVT::i32, 2, 1, 2,
 61, TARGET_VAL(ARMISD::VADDVs),
  OPC_RecordChild0,
  OPC_CheckTypeI32,
  OPC_Scope, 18,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs8no_acc),
                   MVT::i32, 4, 0, 1, 2, 3,
  18,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs16no_acc),
                   MVT::i32, 4, 0, 1, 2, 3,
  18,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs32no_acc),
                   MVT::i32, 4, 0, 1, 2, 3,
  0,
 64, TARGET_VAL(ARMISD::VADDVps),
  OPC_RecordChild0,
  OPC_CheckTypeI32,
  OPC_Scope, 19,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v16i1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs8no_acc),
                   MVT::i32, 4, 0, 2, 1, 3,
  19,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v8i1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs16no_acc),
                   MVT::i32, 4, 0, 2, 1, 3,
  19,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v4i1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVs32no_acc),
                   MVT::i32, 4, 0, 2, 1, 3,
  0,
 61, TARGET_VAL(ARMISD::VADDVu),
  OPC_RecordChild0,
  OPC_CheckTypeI32,
  OPC_Scope, 18,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu8no_acc),
                   MVT::i32, 4, 0, 1, 2, 3,
  18,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu16no_acc),
                   MVT::i32, 4, 0, 1, 2, 3,
  18,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu32no_acc),
                   MVT::i32, 4, 0, 1, 2, 3,
  0,
 64, TARGET_VAL(ARMISD::VADDVpu),
  OPC_RecordChild0,
  OPC_CheckTypeI32,
  OPC_Scope, 19,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v16i1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu8no_acc),
                   MVT::i32, 4, 0, 2, 1, 3,
  19,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v8i1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu16no_acc),
                   MVT::i32, 4, 0, 2, 1, 3,
  19,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v4i1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDVu32no_acc),
                   MVT::i32, 4, 0, 2, 1, 3,
  0,
 24, TARGET_VAL(ARMISD::VADDLVs),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::v4i32,
  OPC_CheckTypeI32,
  OPC_CheckTypeRes, 1, MVT::i32,
  OPC_CheckPatternPredicate0,
  OPC_EmitIntegerI32, 0,
  OPC_EmitRegisterI32, 0 ,
  OPC_EmitRegisterI32, 0 ,
  OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VADDLVs32no_acc),
                  MVT::i32, MVT::i32, 4, 0, 1, 2, 3,
 30, TARGET_VAL(ARMISD::VADDLVAs),
  OPC_RecordChild0,
  OPC_CheckChild0TypeI32,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_RecordChild2,
  OPC_CheckChild2Type, MVT::v4i32,
  OPC_CheckTypeI32,
  OPC_CheckTypeRes, 1, MVT::i32,
  OPC_CheckPatternPredicate0,
  OPC_EmitIntegerI32, 0,
  OPC_EmitRegisterI32, 0 ,
  OPC_EmitRegisterI32, 0 ,
  OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VADDLVs32acc),
                  MVT::i32, MVT::i32, 6, 0, 1, 2, 3, 4, 5,
 25, TARGET_VAL(ARMISD::VADDLVps),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::v4i32,
  OPC_RecordChild1,
  OPC_CheckChild1Type, MVT::v4i1,
  OPC_CheckTypeI32,
  OPC_CheckTypeRes, 1, MVT::i32,
  OPC_CheckPatternPredicate0,
  OPC_EmitIntegerI32, 1,
  OPC_EmitRegisterI32, 0 ,
  OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VADDLVs32no_acc),
                  MVT::i32, MVT::i32, 4, 0, 2, 1, 3,
 31, TARGET_VAL(ARMISD::VADDLVAps),
  OPC_RecordChild0,
  OPC_CheckChild0TypeI32,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_RecordChild2,
  OPC_CheckChild2Type, MVT::v4i32,
  OPC_RecordChild3,
  OPC_CheckChild3Type, MVT::v4i1,
  OPC_CheckTypeI32,
  OPC_CheckTypeRes, 1, MVT::i32,
  OPC_CheckPatternPredicate0,
  OPC_EmitIntegerI32, 1,
  OPC_EmitRegisterI32, 0 ,
  OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VADDLVs32acc),
                  MVT::i32, MVT::i32, 6, 0, 1, 2, 4, 3, 5,
 24, TARGET_VAL(ARMISD::VADDLVu),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::v4i32,
  OPC_CheckTypeI32,
  OPC_CheckTypeRes, 1, MVT::i32,
  OPC_CheckPatternPredicate0,
  OPC_EmitIntegerI32, 0,
  OPC_EmitRegisterI32, 0 ,
  OPC_EmitRegisterI32, 0 ,
  OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VADDLVu32no_acc),
                  MVT::i32, MVT::i32, 4, 0, 1, 2, 3,
 30, TARGET_VAL(ARMISD::VADDLVAu),
  OPC_RecordChild0,
  OPC_CheckChild0TypeI32,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_RecordChild2,
  OPC_CheckChild2Type, MVT::v4i32,
  OPC_CheckTypeI32,
  OPC_CheckTypeRes, 1, MVT::i32,
  OPC_CheckPatternPredicate0,
  OPC_EmitIntegerI32, 0,
  OPC_EmitRegisterI32, 0 ,
  OPC_EmitRegisterI32, 0 ,
  OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VADDLVu32acc),
                  MVT::i32, MVT::i32, 6, 0, 1, 2, 3, 4, 5,
 25, TARGET_VAL(ARMISD::VADDLVpu),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::v4i32,
  OPC_RecordChild1,
  OPC_CheckChild1Type, MVT::v4i1,
  OPC_CheckTypeI32,
  OPC_CheckTypeRes, 1, MVT::i32,
  OPC_CheckPatternPredicate0,
  OPC_EmitIntegerI32, 1,
  OPC_EmitRegisterI32, 0 ,
  OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VADDLVu32no_acc),
                  MVT::i32, MVT::i32, 4, 0, 2, 1, 3,
 31, TARGET_VAL(ARMISD::VADDLVApu),
  OPC_RecordChild0,
  OPC_CheckChild0TypeI32,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_RecordChild2,
  OPC_CheckChild2Type, MVT::v4i32,
  OPC_RecordChild3,
  OPC_CheckChild3Type, MVT::v4i1,
  OPC_CheckTypeI32,
  OPC_CheckTypeRes, 1, MVT::i32,
  OPC_CheckPatternPredicate0,
  OPC_EmitIntegerI32, 1,
  OPC_EmitRegisterI32, 0 ,
  OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VADDLVu32acc),
                  MVT::i32, MVT::i32, 6, 0, 1, 2, 4, 3, 5,
 66, TARGET_VAL(ARMISD::VMINVu),
  OPC_RecordChild0,
  OPC_CheckChild0TypeI32,
  OPC_RecordChild1,
  OPC_CheckTypeI32,
  OPC_Scope, 19,
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINVu8),
                   MVT::i32, 5, 0, 1, 2, 3, 4,
  19,
   OPC_CheckChild1Type, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINVu16),
                   MVT::i32, 5, 0, 1, 2, 3, 4,
  19,
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINVu32),
                   MVT::i32, 5, 0, 1, 2, 3, 4,
  0,
 66, TARGET_VAL(ARMISD::VMINVs),
  OPC_RecordChild0,
  OPC_CheckChild0TypeI32,
  OPC_RecordChild1,
  OPC_CheckTypeI32,
  OPC_Scope, 19,
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINVs8),
                   MVT::i32, 5, 0, 1, 2, 3, 4,
  19,
   OPC_CheckChild1Type, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINVs16),
                   MVT::i32, 5, 0, 1, 2, 3, 4,
  19,
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINVs32),
                   MVT::i32, 5, 0, 1, 2, 3, 4,
  0,
 66, TARGET_VAL(ARMISD::VMAXVu),
  OPC_RecordChild0,
  OPC_CheckChild0TypeI32,
  OPC_RecordChild1,
  OPC_CheckTypeI32,
  OPC_Scope, 19,
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXVu8),
                   MVT::i32, 5, 0, 1, 2, 3, 4,
  19,
   OPC_CheckChild1Type, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXVu16),
                   MVT::i32, 5, 0, 1, 2, 3, 4,
  19,
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXVu32),
                   MVT::i32, 5, 0, 1, 2, 3, 4,
  0,
 66, TARGET_VAL(ARMISD::VMAXVs),
  OPC_RecordChild0,
  OPC_CheckChild0TypeI32,
  OPC_RecordChild1,
  OPC_CheckTypeI32,
  OPC_Scope, 19,
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXVs8),
                   MVT::i32, 5, 0, 1, 2, 3, 4,
  19,
   OPC_CheckChild1Type, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXVs16),
                   MVT::i32, 5, 0, 1, 2, 3, 4,
  19,
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXVs32),
                   MVT::i32, 5, 0, 1, 2, 3, 4,
  0,
 50, TARGET_VAL(ARMISD::VMLAVs),
  OPC_RecordChild0,
  OPC_CheckTypeI32,
  OPC_Scope, 22,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVs16),
                   MVT::i32, 5, 0, 1, 2, 3, 4,
  22,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVs8),
                   MVT::i32, 5, 0, 1, 2, 3, 4,
  0,
 50, TARGET_VAL(ARMISD::VMLAVu),
  OPC_RecordChild0,
  OPC_CheckTypeI32,
  OPC_Scope, 22,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVu16),
                   MVT::i32, 5, 0, 1, 2, 3, 4,
  22,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVu8),
                   MVT::i32, 5, 0, 1, 2, 3, 4,
  0,
 52, TARGET_VAL(ARMISD::VMLAVps),
  OPC_RecordChild0,
  OPC_CheckTypeI32,
  OPC_Scope, 23,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v8i16,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v8i1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVs16),
                   MVT::i32, 5, 0, 1, 3, 2, 4,
  23,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v16i1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVs8),
                   MVT::i32, 5, 0, 1, 3, 2, 4,
  0,
 52, TARGET_VAL(ARMISD::VMLAVpu),
  OPC_RecordChild0,
  OPC_CheckTypeI32,
  OPC_Scope, 23,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v8i16,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v8i1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVu16),
                   MVT::i32, 5, 0, 1, 3, 2, 4,
  23,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v16i8,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v16i1,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMLADAVu8),
                   MVT::i32, 5, 0, 1, 3, 2, 4,
  0,
 58, TARGET_VAL(ARMISD::VMLALVs),
  OPC_RecordChild0,
  OPC_CheckTypeI32,
  OPC_Scope, 26,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VMLALDAVs32),
                   MVT::i32, MVT::i32, 5, 0, 1, 2, 3, 4,
  26,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v8i16,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VMLALDAVs16),
                   MVT::i32, MVT::i32, 5, 0, 1, 2, 3, 4,
  0,
 58, TARGET_VAL(ARMISD::VMLALVu),
  OPC_RecordChild0,
  OPC_CheckTypeI32,
  OPC_Scope, 26,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VMLALDAVu32),
                   MVT::i32, MVT::i32, 5, 0, 1, 2, 3, 4,
  26,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v8i16,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VMLALDAVu16),
                   MVT::i32, MVT::i32, 5, 0, 1, 2, 3, 4,
  0,
 66, TARGET_VAL(ARMISD::VMLALVAs),
  OPC_RecordChild0,
  OPC_CheckChild0TypeI32,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_RecordChild2,
  OPC_CheckTypeI32,
  OPC_Scope, 28,
   OPC_CheckChild2Type, MVT::v4i32,
   OPC_RecordChild3,
   OPC_CheckChild3Type, MVT::v4i32,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VMLALDAVas32),
                   MVT::i32, MVT::i32, 7, 0, 1, 2, 3, 4, 5, 6,
  28,
   OPC_CheckChild2Type, MVT::v8i16,
   OPC_RecordChild3,
   OPC_CheckChild3Type, MVT::v8i16,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VMLALDAVas16),
                   MVT::i32, MVT::i32, 7, 0, 1, 2, 3, 4, 5, 6,
  0,
 66, TARGET_VAL(ARMISD::VMLALVAu),
  OPC_RecordChild0,
  OPC_CheckChild0TypeI32,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_RecordChild2,
  OPC_CheckTypeI32,
  OPC_Scope, 28,
   OPC_CheckChild2Type, MVT::v4i32,
   OPC_RecordChild3,
   OPC_CheckChild3Type, MVT::v4i32,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VMLALDAVau32),
                   MVT::i32, MVT::i32, 7, 0, 1, 2, 3, 4, 5, 6,
  28,
   OPC_CheckChild2Type, MVT::v8i16,
   OPC_RecordChild3,
   OPC_CheckChild3Type, MVT::v8i16,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VMLALDAVau16),
                   MVT::i32, MVT::i32, 7, 0, 1, 2, 3, 4, 5, 6,
  0,
 60, TARGET_VAL(ARMISD::VMLALVps),
  OPC_RecordChild0,
  OPC_CheckTypeI32,
  OPC_Scope, 27,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v4i1,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VMLALDAVs32),
                   MVT::i32, MVT::i32, 5, 0, 1, 3, 2, 4,
  27,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v8i16,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v8i1,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VMLALDAVs16),
                   MVT::i32, MVT::i32, 5, 0, 1, 3, 2, 4,
  0,
 60, TARGET_VAL(ARMISD::VMLALVpu),
  OPC_RecordChild0,
  OPC_CheckTypeI32,
  OPC_Scope, 27,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v4i1,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VMLALDAVu32),
                   MVT::i32, MVT::i32, 5, 0, 1, 3, 2, 4,
  27,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v8i16,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v8i1,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VMLALDAVu16),
                   MVT::i32, MVT::i32, 5, 0, 1, 3, 2, 4,
  0,
 68, TARGET_VAL(ARMISD::VMLALVAps),
  OPC_RecordChild0,
  OPC_CheckChild0TypeI32,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_RecordChild2,
  OPC_CheckTypeI32,
  OPC_Scope, 29,
   OPC_CheckChild2Type, MVT::v4i32,
   OPC_RecordChild3,
   OPC_CheckChild3Type, MVT::v4i32,
   OPC_RecordChild4,
   OPC_CheckChild4Type, MVT::v4i1,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VMLALDAVas32),
                   MVT::i32, MVT::i32, 7, 0, 1, 2, 3, 5, 4, 6,
  29,
   OPC_CheckChild2Type, MVT::v8i16,
   OPC_RecordChild3,
   OPC_CheckChild3Type, MVT::v8i16,
   OPC_RecordChild4,
   OPC_CheckChild4Type, MVT::v8i1,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VMLALDAVas16),
                   MVT::i32, MVT::i32, 7, 0, 1, 2, 3, 5, 4, 6,
  0,
 68, TARGET_VAL(ARMISD::VMLALVApu),
  OPC_RecordChild0,
  OPC_CheckChild0TypeI32,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_RecordChild2,
  OPC_CheckTypeI32,
  OPC_Scope, 29,
   OPC_CheckChild2Type, MVT::v4i32,
   OPC_RecordChild3,
   OPC_CheckChild3Type, MVT::v4i32,
   OPC_RecordChild4,
   OPC_CheckChild4Type, MVT::v4i1,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VMLALDAVau32),
                   MVT::i32, MVT::i32, 7, 0, 1, 2, 3, 5, 4, 6,
  29,
   OPC_CheckChild2Type, MVT::v8i16,
   OPC_RecordChild3,
   OPC_CheckChild3Type, MVT::v8i16,
   OPC_RecordChild4,
   OPC_CheckChild4Type, MVT::v8i1,
   OPC_CheckTypeRes, 1, MVT::i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VMLALDAVau16),
                   MVT::i32, MVT::i32, 7, 0, 1, 2, 3, 5, 4, 6,
  0,
 47|128,3, TARGET_VAL(ARMISD::PREDICATE_CAST),
  OPC_Scope, 56,
   OPC_RecordChild0,
   OPC_CheckTypeI32,
   OPC_Scope, 12,
    OPC_CheckChild0Type, MVT::v2i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, ARM::VCCRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 1,
   12,
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, ARM::VCCRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 1,
   12,
    OPC_CheckChild0Type, MVT::v8i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, ARM::VCCRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 1,
   12,
    OPC_CheckChild0Type, MVT::v16i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, ARM::VCCRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::i32, 2, 0, 1,
   0,
  102,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate, 24,
   OPC_CheckPredicate, 17,
   OPC_CheckPredicate, 39,
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_SwitchType , 19, MVT::v2i1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/37, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VLDR_P0_off), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v2i1, 4, 2, 3, 4, 5,
   19, MVT::v4i1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/37, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VLDR_P0_off), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i1, 4, 2, 3, 4, 5,
   19, MVT::v8i1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/37, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VLDR_P0_off), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v8i1, 4, 2, 3, 4, 5,
   19, MVT::v16i1,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/37, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VLDR_P0_off), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v16i1, 4, 2, 3, 4, 5,
   0,
  11|128,2,
   OPC_RecordChild0,
   OPC_Scope, 51,
    OPC_CheckChild0TypeI32,
    OPC_SwitchType , 10, MVT::v2i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i1, 2, 0, 1,
    10, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i1, 2, 0, 1,
    10, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i1, 2, 0, 1,
    10, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i1, 2, 0, 1,
    0,
   52,
    OPC_CheckChild0Type, MVT::v2i1,
    OPC_SwitchType , 10, MVT::v2i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i1, 2, 0, 1,
    10, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i1, 2, 0, 1,
    10, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i1, 2, 0, 1,
    10, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i1, 2, 0, 1,
    0,
   52,
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_SwitchType , 10, MVT::v2i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i1, 2, 0, 1,
    10, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i1, 2, 0, 1,
    10, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i1, 2, 0, 1,
    10, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i1, 2, 0, 1,
    0,
   52,
    OPC_CheckChild0Type, MVT::v8i1,
    OPC_SwitchType , 10, MVT::v2i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i1, 2, 0, 1,
    10, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i1, 2, 0, 1,
    10, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i1, 2, 0, 1,
    10, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i1, 2, 0, 1,
    0,
   52,
    OPC_CheckChild0Type, MVT::v16i1,
    OPC_SwitchType , 10, MVT::v2i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v2i1, 2, 0, 1,
    10, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i1, 2, 0, 1,
    10, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i1, 2, 0, 1,
    10, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v16i1, 2, 0, 1,
    0,
   0,
  0,
 31|128,1, TARGET_VAL(ISD::FP_TO_SINT_SAT),
  OPC_RecordChild0,
  OPC_Scope, 30,
   OPC_CheckChild0Type, MVT::f64,
   OPC_MoveChild1,
   OPC_CheckValueType, MVT::i32,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::VTOSIZD),
                   MVT::f32, 3, 0, 1, 2,
   OPC_EmitIntegerI32, ARM::GPRRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::i32, 2, 3, 4,
  30,
   OPC_CheckChild0Type, MVT::f32,
   OPC_MoveChild1,
   OPC_CheckValueType, MVT::i32,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 34,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::VTOSIZS),
                   MVT::f32, 3, 0, 1, 2,
   OPC_EmitIntegerI32, ARM::GPRRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::i32, 2, 3, 4,
  30,
   OPC_CheckChild0Type, MVT::f16,
   OPC_MoveChild1,
   OPC_CheckValueType, MVT::i32,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 34,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::VTOSIZH),
                   MVT::f32, 3, 0, 1, 2,
   OPC_EmitIntegerI32, ARM::GPRRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::i32, 2, 3, 4,
  31,
   OPC_CheckChild0Type, 4|128,1,
   OPC_MoveChild1,
   OPC_CheckValueType, MVT::i32,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate2,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs32f32z),
                   MVT::v4i32, 5, 0, 1, 2, 3, 4,
  30,
   OPC_CheckChild0Type, MVT::v8f16,
   OPC_MoveChild1,
   OPC_CheckValueType, MVT::i16,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate2,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTs16f16z),
                   MVT::v8i16, 5, 0, 1, 2, 3, 4,
  0,
 31|128,1, TARGET_VAL(ISD::FP_TO_UINT_SAT),
  OPC_RecordChild0,
  OPC_Scope, 30,
   OPC_CheckChild0Type, MVT::f64,
   OPC_MoveChild1,
   OPC_CheckValueType, MVT::i32,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::VTOUIZD),
                   MVT::f32, 3, 0, 1, 2,
   OPC_EmitIntegerI32, ARM::GPRRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::i32, 2, 3, 4,
  30,
   OPC_CheckChild0Type, MVT::f32,
   OPC_MoveChild1,
   OPC_CheckValueType, MVT::i32,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 34,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::VTOUIZS),
                   MVT::f32, 3, 0, 1, 2,
   OPC_EmitIntegerI32, ARM::GPRRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::i32, 2, 3, 4,
  30,
   OPC_CheckChild0Type, MVT::f16,
   OPC_MoveChild1,
   OPC_CheckValueType, MVT::i32,
   OPC_MoveParent,
   OPC_CheckTypeI32,
   OPC_CheckPatternPredicate, 34,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::VTOUIZH),
                   MVT::f32, 3, 0, 1, 2,
   OPC_EmitIntegerI32, ARM::GPRRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::i32, 2, 3, 4,
  31,
   OPC_CheckChild0Type, 4|128,1,
   OPC_MoveChild1,
   OPC_CheckValueType, MVT::i32,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate2,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu32f32z),
                   MVT::v4i32, 5, 0, 1, 2, 3, 4,
  30,
   OPC_CheckChild0Type, MVT::v8f16,
   OPC_MoveChild1,
   OPC_CheckValueType, MVT::i16,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate2,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTu16f16z),
                   MVT::v8i16, 5, 0, 1, 2, 3, 4,
  0,
 68, TARGET_VAL(ISD::RESET_FPENV),
  OPC_RecordNode,
  OPC_Scope, 31,
   OPC_CheckPatternPredicate3,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::MOVi),
                   MVT::i32, 4, 1, 2, 3, 4,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMSR),
                   MVT::i32, 3, 5, 6, 7,
  32,
   OPC_CheckPatternPredicate, 52,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitRegisterI32, ARM::CPSR,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::tMOVi8),
                   MVT::i32, 4, 1, 2, 3, 4,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMSR),
                   MVT::i32, 3, 5, 6, 7,
  0,
 113, TARGET_VAL(ISD::VECREDUCE_SMAX),
  OPC_RecordChild0,
  OPC_CheckTypeI32,
  OPC_Scope, 37,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 127|128,0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::t2MVNi),
                   MVT::i32, 4, 1, 2, 3, 4,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXVs8),
                   MVT::i32, 5, 5, 0, 6, 7, 8,
  29,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0|128,0|128,126,
   OPC_EmitNode1None, TARGET_VAL(ARM::t2MOVi32imm),
                   MVT::i32, 1, 1,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXVs16),
                   MVT::i32, 5, 2, 0, 3, 4, 5,
  40,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0|128,0|128,0|128,0|128,120,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::t2MOVi),
                   MVT::i32, 4, 1, 2, 3, 4,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXVs32),
                   MVT::i32, 5, 5, 0, 6, 7, 8,
  0,
 115, TARGET_VAL(ISD::VECREDUCE_UMAX),
  OPC_RecordChild0,
  OPC_CheckTypeI32,
  OPC_Scope, 36,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::t2MOVi),
                   MVT::i32, 4, 1, 2, 3, 4,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXVu8),
                   MVT::i32, 5, 5, 0, 6, 7, 8,
  36,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::t2MOVi),
                   MVT::i32, 4, 1, 2, 3, 4,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXVu16),
                   MVT::i32, 5, 5, 0, 6, 7, 8,
  36,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::t2MOVi),
                   MVT::i32, 4, 1, 2, 3, 4,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXVu32),
                   MVT::i32, 5, 5, 0, 6, 7, 8,
  0,
 119, TARGET_VAL(ISD::VECREDUCE_SMIN),
  OPC_RecordChild0,
  OPC_CheckTypeI32,
  OPC_Scope, 37,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 127|128,0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::t2MOVi),
                   MVT::i32, 4, 1, 2, 3, 4,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINVs8),
                   MVT::i32, 5, 5, 0, 6, 7, 8,
  35,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 127|128,127|128,1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::t2MOVi16),
                   MVT::i32, 3, 1, 2, 3,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINVs16),
                   MVT::i32, 5, 4, 0, 5, 6, 7,
  40,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0|128,0|128,0|128,0|128,120,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::t2MVNi),
                   MVT::i32, 4, 1, 2, 3, 4,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINVs32),
                   MVT::i32, 5, 5, 0, 6, 7, 8,
  0,
 115, TARGET_VAL(ISD::VECREDUCE_UMIN),
  OPC_RecordChild0,
  OPC_CheckTypeI32,
  OPC_Scope, 37,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 127|128,1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::t2MOVi),
                   MVT::i32, 4, 1, 2, 3, 4,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINVu8),
                   MVT::i32, 5, 5, 0, 6, 7, 8,
  35,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 127|128,127|128,3,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::t2MOVi16),
                   MVT::i32, 3, 1, 2, 3,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINVu16),
                   MVT::i32, 5, 4, 0, 5, 6, 7,
  36,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 127,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::t2MOVi),
                   MVT::i32, 4, 1, 2, 3, 4,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINVu32),
                   MVT::i32, 5, 5, 0, 6, 7, 8,
  0,
 68, TARGET_VAL(ISD::FP_TO_FP16),
  OPC_RecordChild0,
  OPC_CheckTypeI32,
  OPC_Scope, 31,
   OPC_CheckChild0Type, MVT::f32,
   OPC_CheckPatternPredicate, 36,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::f32, 0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::VCVTBSH),
                   MVT::f32, 4, 1, 0, 2, 3,
   OPC_EmitIntegerI32, ARM::GPRRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::i32, 2, 4, 5,
  31,
   OPC_CheckChild0Type, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::f32, 0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::VCVTBDH),
                   MVT::f32, 4, 1, 0, 2, 3,
   OPC_EmitIntegerI32, ARM::GPRRegClassID,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::i32, 2, 4, 5,
  0,
 71, TARGET_VAL(ISD::STRICT_FP_TO_FP16),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckTypeI32,
  OPC_Scope, 32,
   OPC_CheckChild1Type, MVT::f32,
   OPC_CheckPatternPredicate, 36,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::f32, 0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::VCVTBSH),
                   MVT::f32, 4, 2, 1, 3, 4,
   OPC_EmitIntegerI32, ARM::GPRRegClassID,
   OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::i32, 2, 5, 6,
  32,
   OPC_CheckChild1Type, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::f32, 0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::VCVTBDH),
                   MVT::f32, 4, 2, 1, 3, 4,
   OPC_EmitIntegerI32, ARM::GPRRegClassID,
   OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::i32, 2, 5, 6,
  0,
 7, TARGET_VAL(ARMISD::WIN__CHKSTK),
  OPC_RecordNode,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::WIN__CHKSTK),
                  MVT::i32, 0,
 10, TARGET_VAL(ARMISD::WIN__DBZCHK),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1, TARGET_VAL(ARM::WIN__DBZCHK), 0|OPFL_Chain|OPFL_GlueOutput,
                  MVT::i32, 1, 1,
 63, TARGET_VAL(ARMISD::EH_SJLJ_SETJMP),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI32,
  OPC_CheckTypeI32,
  OPC_Scope, 10,
   OPC_CheckPatternPredicate, 146,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::Int_eh_sjlj_setjmp),
                   MVT::i32, 2, 1, 2,
  10,
   OPC_CheckPatternPredicate, 147,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::Int_eh_sjlj_setjmp_nofp),
                   MVT::i32, 2, 1, 2,
  10,
   OPC_CheckPatternPredicate, 12,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::tInt_eh_sjlj_setjmp),
                   MVT::i32, 2, 1, 2,
  10,
   OPC_CheckPatternPredicate, 148,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2Int_eh_sjlj_setjmp),
                   MVT::i32, 2, 1, 2,
  10,
   OPC_CheckPatternPredicate, 149,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::t2Int_eh_sjlj_setjmp_nofp),
                   MVT::i32, 2, 1, 2,
  0,
 6, TARGET_VAL(ARMISD::EH_SJLJ_SETUP_DISPATCH),
  OPC_RecordNode,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo0Chain, TARGET_VAL(ARM::Int_eh_sjlj_setup_dispatch),
                  0,
 15, TARGET_VAL(ARMISD::MEMCPYLOOP),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_RecordChild2,
  OPC_CheckChild2TypeI32,
  OPC_RecordChild3,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::MVE_MEMCPYLOOPINST),
                  MVT::i32, 3, 1, 2, 3,
 14, TARGET_VAL(ARMISD::MEMSETLOOP),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_RecordChild2,
  OPC_RecordChild3,
  OPC_EmitMergeInputChains1_0,
  OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::MVE_MEMSETLOOPINST),
                  MVT::i32, 3, 1, 2, 3,
 48|128,1, TARGET_VAL(ISD::STRICT_SINT_TO_FP),
  OPC_RecordNode,
  OPC_Scope, 90,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate, 24,
   OPC_CheckPredicate, 17,
   OPC_CheckPredicate, 39,
   OPC_MoveParent,
   OPC_SwitchType , 34, MVT::f64,
    OPC_CheckPatternPredicate, 17,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_EmitMergeInputChains, 2, 0, 1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLDRS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 4, 3, 4, 5, 6,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VSITOD),
                    MVT::f64, 3, 7, 8, 9,
   34, MVT::f32,
    OPC_CheckPatternPredicate, 18,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_EmitMergeInputChains, 2, 0, 1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLDRS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 4, 3, 4, 5, 6,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VSITOS),
                    MVT::f32, 3, 7, 8, 9,
   0,
  81,
   OPC_RecordChild1,
   OPC_SwitchType , 24, MVT::f64,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, ARM::SPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 1, 2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VSITOD),
                    MVT::f64, 3, 3, 4, 5,
   24, MVT::f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, ARM::SPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 1, 2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VSITOS),
                    MVT::f32, 3, 3, 4, 5,
   24, MVT::f16,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, ARM::SPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 1, 2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VSITOH),
                    MVT::f16, 3, 3, 4, 5,
   0,
  0,
 57|128,4, TARGET_VAL(ISD::SINT_TO_FP),
  OPC_Scope, 37|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 79, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate, 24,
    OPC_CheckPredicate, 17,
    OPC_CheckPredicate, 39,
    OPC_MoveParent,
    OPC_SwitchType , 31, MVT::f64,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::VLDRS), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 4, 2, 3, 4, 5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VSITOD),
                     MVT::f64, 3, 6, 7, 8,
    31, MVT::f32,
     OPC_CheckPatternPredicate, 18,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::VLDRS), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 4, 2, 3, 4, 5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VSITOS),
                     MVT::f32, 3, 6, 7, 8,
    0,
   77, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 36,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 34,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 18, 2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f32, 2, 0, 3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSITOD),
                     MVT::f64, 3, 4, 5, 6,
    36,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 34,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 18, 2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f32, 2, 0, 3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSITOD),
                     MVT::f64, 3, 4, 5, 6,
    0,
   0,
  14|128,3,
   OPC_RecordChild0,
   OPC_SwitchType , 23, MVT::f64,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, ARM::SPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 0, 1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSITOD),
                    MVT::f64, 3, 2, 3, 4,
   77, MVT::f32,
    OPC_Scope, 23,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitIntegerI32, ARM::SPRRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f32, 2, 0, 1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSITOS),
                     MVT::f32, 3, 2, 3, 4,
    50,
     OPC_CheckPatternPredicate, 53,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     2|128,1, 0,
     OPC_EmitIntegerI32, ARM::SPRRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 0, 2,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     2|128,1, 3, 1, 3, 4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTs2fd),
                     2|128,1, 3, 5, 6, 7,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f32, 2, 8, 9,
    0,
   23, MVT::f16,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitIntegerI32, ARM::SPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 0, 1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSITOH),
                    MVT::f16, 3, 2, 3, 4,
   16, 2|128,1,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTs2fd),
                    2|128,1, 3, 0, 1, 2,
   114, 4|128,1,
    OPC_Scope, 43,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTs2fq),
                      4|128,1, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf32s32n),
                      4|128,1, 5, 0, 1, 2, 3, 4,
     0,
    67,
     OPC_CheckChild0Type, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 112|128,1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmf32),
                     4|128,1, 5, 1, 2, 3, 4, 5,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi32),
                     4|128,1, 5, 7, 8, 9, 10, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                     4|128,1, 5, 6, 12, 13, 0, 14,
    0,
   16, MVT::v4f16,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTs2hd),
                    MVT::v4f16, 3, 0, 1, 2,
   110, MVT::v8f16,
    OPC_Scope, 42,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTs2hq),
                      MVT::v8f16, 3, 0, 1, 2,
     22,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf16s16n),
                      MVT::v8f16, 5, 0, 1, 2, 3, 4,
     0,
    64,
     OPC_CheckChild0Type, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 60|128,21,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi16),
                     MVT::v8f16, 5, 1, 2, 3, 4, 5,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi16),
                     MVT::v8f16, 5, 7, 8, 9, 10, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                     MVT::v8f16, 5, 6, 12, 13, 0, 14,
    0,
   0,
  0,
 48|128,1, TARGET_VAL(ISD::STRICT_UINT_TO_FP),
  OPC_RecordNode,
  OPC_Scope, 90,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate, 24,
   OPC_CheckPredicate, 17,
   OPC_CheckPredicate, 39,
   OPC_MoveParent,
   OPC_SwitchType , 34, MVT::f64,
    OPC_CheckPatternPredicate, 17,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_EmitMergeInputChains, 2, 0, 1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLDRS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 4, 3, 4, 5, 6,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VUITOD),
                    MVT::f64, 3, 7, 8, 9,
   34, MVT::f32,
    OPC_CheckPatternPredicate, 18,
    OPC_CheckComplexPat2, /*#*/2,
    OPC_EmitMergeInputChains, 2, 0, 1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLDRS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 4, 3, 4, 5, 6,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VUITOS),
                    MVT::f32, 3, 7, 8, 9,
   0,
  81,
   OPC_RecordChild1,
   OPC_SwitchType , 24, MVT::f64,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, ARM::SPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 1, 2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VUITOD),
                    MVT::f64, 3, 3, 4, 5,
   24, MVT::f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, ARM::SPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 1, 2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VUITOS),
                    MVT::f32, 3, 3, 4, 5,
   24, MVT::f16,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, ARM::SPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 1, 2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VUITOH),
                    MVT::f16, 3, 3, 4, 5,
   0,
  0,
 57|128,4, TARGET_VAL(ISD::UINT_TO_FP),
  OPC_Scope, 37|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 79, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate, 24,
    OPC_CheckPredicate, 17,
    OPC_CheckPredicate, 39,
    OPC_MoveParent,
    OPC_SwitchType , 31, MVT::f64,
     OPC_CheckPatternPredicate, 17,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::VLDRS), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 4, 2, 3, 4, 5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VUITOD),
                     MVT::f64, 3, 6, 7, 8,
    31, MVT::f32,
     OPC_CheckPatternPredicate, 18,
     OPC_CheckComplexPat2, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::VLDRS), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::f32, 4, 2, 3, 4, 5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VUITOS),
                     MVT::f32, 3, 6, 7, 8,
    0,
   77, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 36,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 34,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 18, 2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f32, 2, 0, 3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VUITOD),
                     MVT::f64, 3, 4, 5, 6,
    36,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 34,
     OPC_EmitConvertToTarget1,
     OPC_EmitNodeXForm, 18, 2,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f32, 2, 0, 3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VUITOD),
                     MVT::f64, 3, 4, 5, 6,
    0,
   0,
  14|128,3,
   OPC_RecordChild0,
   OPC_SwitchType , 23, MVT::f64,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, ARM::SPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 0, 1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VUITOD),
                    MVT::f64, 3, 2, 3, 4,
   77, MVT::f32,
    OPC_Scope, 23,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitIntegerI32, ARM::SPRRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f32, 2, 0, 1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VUITOS),
                     MVT::f32, 3, 2, 3, 4,
    50,
     OPC_CheckPatternPredicate, 53,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     2|128,1, 0,
     OPC_EmitIntegerI32, ARM::SPRRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 0, 2,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     2|128,1, 3, 1, 3, 4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VCVTu2fd),
                     2|128,1, 3, 5, 6, 7,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f32, 2, 8, 9,
    0,
   23, MVT::f16,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitIntegerI32, ARM::SPRRegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 0, 1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VUITOH),
                    MVT::f16, 3, 2, 3, 4,
   16, 2|128,1,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTu2fd),
                    2|128,1, 3, 0, 1, 2,
   114, 4|128,1,
    OPC_Scope, 43,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTu2fq),
                      4|128,1, 3, 0, 1, 2,
     23,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf32u32n),
                      4|128,1, 5, 0, 1, 2, 3, 4,
     0,
    67,
     OPC_CheckChild0Type, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 112|128,0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmf32),
                     4|128,1, 5, 1, 2, 3, 4, 5,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi32),
                     4|128,1, 5, 7, 8, 9, 10, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                     4|128,1, 5, 6, 12, 13, 0, 14,
    0,
   16, MVT::v4f16,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTu2hd),
                    MVT::v4f16, 3, 0, 1, 2,
   110, MVT::v8f16,
    OPC_Scope, 42,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTu2hq),
                      MVT::v8f16, 3, 0, 1, 2,
     22,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf16u16n),
                      MVT::v8f16, 5, 0, 1, 2, 3, 4,
     0,
    64,
     OPC_CheckChild0Type, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 60|128,20,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi16),
                     MVT::v8f16, 5, 1, 2, 3, 4, 5,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi16),
                     MVT::v8f16, 5, 7, 8, 9, 10, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                     MVT::v8f16, 5, 6, 12, 13, 0, 14,
    0,
   0,
  0,
 112|128,25, TARGET_VAL(ISD::STRICT_FADD),
  OPC_RecordNode,
  OPC_Scope, 37|128,2,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 21|128,1, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_SwitchType , 44, MVT::f64,
     OPC_Scope, 20,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSD),
                      MVT::f64, 5, 4, 2, 3, 5, 6,
     20,
      OPC_CheckPatternPredicate, 26,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSD),
                      MVT::f64, 5, 4, 2, 3, 5, 6,
     0,
    44, MVT::f32,
     OPC_Scope, 20,
      OPC_CheckPatternPredicate, 21,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSS),
                      MVT::f32, 5, 4, 2, 3, 5, 6,
     20,
      OPC_CheckPatternPredicate, 27,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSS),
                      MVT::f32, 5, 4, 2, 3, 5, 6,
     0,
    44, MVT::f16,
     OPC_Scope, 20,
      OPC_CheckPatternPredicate, 30,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSH),
                      MVT::f16, 5, 4, 2, 3, 5, 6,
     20,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSH),
                      MVT::f16, 5, 4, 2, 3, 5, 6,
     0,
    0,
   1|128,1, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_SwitchType , 38, MVT::f64,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSD),
                      MVT::f64, 5, 3, 1, 2, 4, 5,
     17,
      OPC_CheckPatternPredicate, 26,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSD),
                      MVT::f64, 5, 3, 1, 2, 4, 5,
     0,
    38, MVT::f32,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 21,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSS),
                      MVT::f32, 5, 3, 1, 2, 4, 5,
     17,
      OPC_CheckPatternPredicate, 27,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSS),
                      MVT::f32, 5, 3, 1, 2, 4, 5,
     0,
    38, MVT::f16,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 30,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSH),
                      MVT::f16, 5, 3, 1, 2, 4, 5,
     17,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSH),
                      MVT::f16, 5, 3, 1, 2, 4, 5,
     0,
    0,
   0,
  36|128,2,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 20|128,1, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_SwitchType , 44, MVT::f64,
     OPC_Scope, 20,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSD),
                      MVT::f64, 5, 1, 3, 4, 5, 6,
     20,
      OPC_CheckPatternPredicate, 26,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSD),
                      MVT::f64, 5, 1, 3, 4, 5, 6,
     0,
    44, MVT::f32,
     OPC_Scope, 20,
      OPC_CheckPatternPredicate, 21,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSS),
                      MVT::f32, 5, 1, 3, 4, 5, 6,
     20,
      OPC_CheckPatternPredicate, 27,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSS),
                      MVT::f32, 5, 1, 3, 4, 5, 6,
     0,
    44, MVT::f16,
     OPC_Scope, 20,
      OPC_CheckPatternPredicate, 30,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSH),
                      MVT::f16, 5, 1, 3, 4, 5, 6,
     20,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSH),
                      MVT::f16, 5, 1, 3, 4, 5, 6,
     0,
    0,
   0|128,1, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_SwitchType , 38, MVT::f64,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSD),
                      MVT::f64, 5, 1, 2, 3, 4, 5,
     17,
      OPC_CheckPatternPredicate, 26,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSD),
                      MVT::f64, 5, 1, 2, 3, 4, 5,
     0,
    38, MVT::f32,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 21,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSS),
                      MVT::f32, 5, 1, 2, 3, 4, 5,
     17,
      OPC_CheckPatternPredicate, 27,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSS),
                      MVT::f32, 5, 1, 2, 3, 4, 5,
     0,
    38, MVT::f16,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 30,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSH),
                      MVT::f16, 5, 1, 2, 3, 4, 5,
     17,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSH),
                      MVT::f16, 5, 1, 2, 3, 4, 5,
     0,
    0,
   0,
  22|128,1,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 76, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_SwitchType , 20, MVT::f64,
     OPC_CheckPatternPredicate, 20,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAD),
                     MVT::f64, 5, 4, 2, 3, 5, 6,
    20, MVT::f32,
     OPC_CheckPatternPredicate, 21,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAS),
                     MVT::f32, 5, 4, 2, 3, 5, 6,
    20, MVT::f16,
     OPC_CheckPatternPredicate, 30,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAH),
                     MVT::f16, 5, 4, 2, 3, 5, 6,
    0,
   65, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_SwitchType , 17, MVT::f64,
     OPC_CheckPatternPredicate, 20,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAD),
                     MVT::f64, 5, 3, 1, 2, 4, 5,
    17, MVT::f32,
     OPC_CheckPatternPredicate, 21,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAS),
                     MVT::f32, 5, 3, 1, 2, 4, 5,
    17, MVT::f16,
     OPC_CheckPatternPredicate, 30,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAH),
                     MVT::f16, 5, 3, 1, 2, 4, 5,
    0,
   0,
  21|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_SwitchOpcode , 75, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_SwitchType , 20, MVT::f64,
     OPC_CheckPatternPredicate, 20,
     OPC_EmitMergeInputChains, 2, 0, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAD),
                     MVT::f64, 5, 1, 3, 4, 5, 6,
    20, MVT::f32,
     OPC_CheckPatternPredicate, 21,
     OPC_EmitMergeInputChains, 2, 0, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAS),
                     MVT::f32, 5, 1, 3, 4, 5, 6,
    20, MVT::f16,
     OPC_CheckPatternPredicate, 32,
     OPC_EmitMergeInputChains, 2, 0, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAH),
                     MVT::f16, 5, 1, 3, 4, 5, 6,
    0,
   64, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_SwitchType , 17, MVT::f64,
     OPC_CheckPatternPredicate, 20,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAD),
                     MVT::f64, 5, 1, 2, 3, 4, 5,
    17, MVT::f32,
     OPC_CheckPatternPredicate, 21,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAS),
                     MVT::f32, 5, 1, 2, 3, 4, 5,
    17, MVT::f16,
     OPC_CheckPatternPredicate, 32,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAH),
                     MVT::f16, 5, 1, 2, 3, 4, 5,
    0,
   0,
  22|128,1,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 76, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_SwitchType , 20, MVT::f64,
     OPC_CheckPatternPredicate, 26,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAD),
                     MVT::f64, 5, 4, 2, 3, 5, 6,
    20, MVT::f32,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAS),
                     MVT::f32, 5, 4, 2, 3, 5, 6,
    20, MVT::f16,
     OPC_CheckPatternPredicate, 31,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAH),
                     MVT::f16, 5, 4, 2, 3, 5, 6,
    0,
   65, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_SwitchType , 17, MVT::f64,
     OPC_CheckPatternPredicate, 26,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAD),
                     MVT::f64, 5, 3, 1, 2, 4, 5,
    17, MVT::f32,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAS),
                     MVT::f32, 5, 3, 1, 2, 4, 5,
    17, MVT::f16,
     OPC_CheckPatternPredicate, 31,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAH),
                     MVT::f16, 5, 3, 1, 2, 4, 5,
    0,
   0,
  105|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_SwitchOpcode , 120, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_SwitchType , 20, MVT::f64,
     OPC_CheckPatternPredicate, 26,
     OPC_EmitMergeInputChains, 2, 0, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAD),
                     MVT::f64, 5, 1, 3, 4, 5, 6,
    20, MVT::f32,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitMergeInputChains, 2, 0, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAS),
                     MVT::f32, 5, 1, 3, 4, 5, 6,
    65, MVT::f16,
     OPC_Scope, 20,
      OPC_CheckPatternPredicate, 47,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAH),
                      MVT::f16, 5, 1, 3, 4, 5, 6,
     20,
      OPC_CheckPatternPredicate, 30,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAH),
                      MVT::f16, 5, 1, 3, 4, 5, 6,
     20,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAH),
                      MVT::f16, 5, 1, 3, 4, 5, 6,
     0,
    0,
   103, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_SwitchType , 17, MVT::f64,
     OPC_CheckPatternPredicate, 26,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAD),
                     MVT::f64, 5, 1, 2, 3, 4, 5,
    17, MVT::f32,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAS),
                     MVT::f32, 5, 1, 2, 3, 4, 5,
    56, MVT::f16,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 47,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAH),
                      MVT::f16, 5, 1, 2, 3, 4, 5,
     17,
      OPC_CheckPatternPredicate, 30,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAH),
                      MVT::f16, 5, 1, 2, 3, 4, 5,
     17,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAH),
                      MVT::f16, 5, 1, 2, 3, 4, 5,
     0,
    0,
   0,
  109,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 54, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_CheckType, MVT::f16,
    OPC_Scope, 20,
     OPC_CheckPatternPredicate, 32,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAH),
                     MVT::f16, 5, 4, 2, 3, 5, 6,
    20,
     OPC_CheckPatternPredicate, 47,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAH),
                     MVT::f16, 5, 4, 2, 3, 5, 6,
    0,
   46, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_CheckType, MVT::f16,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate, 32,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAH),
                     MVT::f16, 5, 3, 1, 2, 4, 5,
    17,
     OPC_CheckPatternPredicate, 47,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAH),
                     MVT::f16, 5, 3, 1, 2, 4, 5,
    0,
   0,
  7|128,2,
   OPC_RecordChild1,
   OPC_Scope, 57,
    OPC_RecordChild2,
    OPC_SwitchType , 16, MVT::f64,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VADDD),
                     MVT::f64, 4, 1, 2, 3, 4,
    16, MVT::f32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VADDS),
                     MVT::f32, 4, 1, 2, 3, 4,
    16, MVT::f16,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VADDH),
                     MVT::f16, 4, 1, 2, 3, 4,
    0,
   72|128,1,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 124, TARGET_VAL(ISD::STRICT_FMUL),
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_Scope, 73,
      OPC_RecordChild1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 2|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckPredicate1,
      OPC_SwitchType , 23, 2|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget5,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfd),
                       2|128,1, 6, 1, 3, 4, 6, 7, 8,
      23, 4|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget5,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfq),
                       4|128,1, 6, 1, 3, 4, 6, 7, 8,
      0,
     45,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 2|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckPredicate1,
      OPC_CheckType, 2|128,1,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitConvertToTarget4,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfd),
                      2|128,1, 6, 1, 5, 3, 6, 7, 8,
     0,
    67, TARGET_VAL(ISD::FMUL),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 2|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_CheckPredicate1,
     OPC_SwitchType , 20, 2|128,1,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget4,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfd),
                      2|128,1, 6, 1, 2, 3, 5, 6, 7,
     20, 4|128,1,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget4,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfq),
                      4|128,1, 6, 1, 2, 3, 5, 6, 7,
     0,
    0,
   0,
  102,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FMUL),
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_Scope, 46,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 2|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_CheckType, 2|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains, 2, 0, 1,
    OPC_EmitConvertToTarget4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfd),
                    2|128,1, 6, 5, 2, 3, 6, 7, 8,
   46,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 2|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_CheckType, 2|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains, 2, 0, 1,
    OPC_EmitConvertToTarget3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfd),
                    2|128,1, 6, 5, 4, 2, 6, 7, 8,
   0,
  47,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 2|128,1,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckPredicate0,
   OPC_MoveParent,
   OPC_CheckPredicate1,
   OPC_CheckType, 2|128,1,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfd),
                   2|128,1, 6, 1, 4, 2, 5, 6, 7,
  94,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
   OPC_Scope, 43,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 2|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_CheckType, 2|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfd),
                    2|128,1, 6, 4, 1, 2, 5, 6, 7,
   43,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 2|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_CheckType, 2|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfd),
                    2|128,1, 6, 4, 3, 1, 5, 6, 7,
   0,
  52,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FMUL),
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 2|128,1,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckPredicate0,
   OPC_MoveParent,
   OPC_CheckPredicate1,
   OPC_CheckType, 4|128,1,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains, 2, 0, 2,
   OPC_EmitConvertToTarget4,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfq),
                   4|128,1, 6, 1, 5, 3, 6, 7, 8,
  102,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FMUL),
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_Scope, 46,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 2|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains, 2, 0, 1,
    OPC_EmitConvertToTarget4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfq),
                    4|128,1, 6, 5, 2, 3, 6, 7, 8,
   46,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 2|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains, 2, 0, 1,
    OPC_EmitConvertToTarget3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfq),
                    4|128,1, 6, 5, 4, 2, 6, 7, 8,
   0,
  47,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 2|128,1,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckPredicate0,
   OPC_MoveParent,
   OPC_CheckPredicate1,
   OPC_CheckType, 4|128,1,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfq),
                   4|128,1, 6, 1, 4, 2, 5, 6, 7,
  94,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
   OPC_Scope, 43,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 2|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfq),
                    4|128,1, 6, 4, 1, 2, 5, 6, 7,
   43,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 2|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfq),
                    4|128,1, 6, 4, 3, 1, 5, 6, 7,
   0,
  65|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_SwitchOpcode , 126, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_Scope, 60,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_CheckPredicate1,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains, 2, 0, 2,
     OPC_EmitConvertToTarget5,
     OPC_EmitNodeXForm, 7, 6,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     2|128,1, 2, 4, 7,
     OPC_EmitConvertToTarget5,
     OPC_EmitNodeXForm, 8, 9,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfq),
                     4|128,1, 6, 1, 3, 8, 10, 11, 12,
    60,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_CheckPredicate1,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains, 2, 0, 2,
     OPC_EmitConvertToTarget4,
     OPC_EmitNodeXForm, 7, 6,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     2|128,1, 2, 3, 7,
     OPC_EmitConvertToTarget4,
     OPC_EmitNodeXForm, 8, 9,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfq),
                     4|128,1, 6, 1, 5, 8, 10, 11, 12,
    0,
   57, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget4,
    OPC_EmitNodeXForm, 7, 5,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    2|128,1, 2, 3, 6,
    OPC_EmitConvertToTarget4,
    OPC_EmitNodeXForm, 8, 8,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfq),
                    4|128,1, 6, 1, 2, 7, 9, 10, 11,
   0,
  4|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FMUL),
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_Scope, 61,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains, 2, 0, 1,
    OPC_EmitConvertToTarget4,
    OPC_EmitNodeXForm, 7, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    2|128,1, 2, 3, 7,
    OPC_EmitConvertToTarget4,
    OPC_EmitNodeXForm, 8, 9,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfq),
                    4|128,1, 6, 5, 2, 8, 10, 11, 12,
   61,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains, 2, 0, 1,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 7, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    2|128,1, 2, 2, 7,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 8, 9,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfq),
                    4|128,1, 6, 5, 4, 8, 10, 11, 12,
   0,
  62,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 4|128,1,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckPredicate0,
   OPC_MoveParent,
   OPC_CheckPredicate1,
   OPC_CheckType, 4|128,1,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitConvertToTarget3,
   OPC_EmitNodeXForm, 7, 5,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   2|128,1, 2, 2, 6,
   OPC_EmitConvertToTarget3,
   OPC_EmitNodeXForm, 8, 8,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfq),
                   4|128,1, 6, 1, 4, 7, 9, 10, 11,
  124,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
   OPC_Scope, 58,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 7, 5,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    2|128,1, 2, 2, 6,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 8, 8,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfq),
                    4|128,1, 6, 4, 1, 7, 9, 10, 11,
   58,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 7, 5,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    2|128,1, 2, 1, 6,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 8, 8,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfq),
                    4|128,1, 6, 4, 3, 7, 9, 10, 11,
   0,
  38|128,2,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_SwitchOpcode , 23|128,1, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_SwitchType , 46, 2|128,1,
     OPC_Scope, 21,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAfd),
                      2|128,1, 5, 1, 3, 4, 5, 6,
     21,
      OPC_CheckPatternPredicate, 33,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAfd),
                      2|128,1, 5, 1, 3, 4, 5, 6,
     0,
    46, 4|128,1,
     OPC_Scope, 21,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAfq),
                      4|128,1, 5, 1, 3, 4, 5, 6,
     21,
      OPC_CheckPatternPredicate, 33,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAfq),
                      4|128,1, 5, 1, 3, 4, 5, 6,
     0,
    20, MVT::v4f16,
     OPC_CheckPatternPredicate, 23,
     OPC_EmitMergeInputChains, 2, 0, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAhd),
                     MVT::v4f16, 5, 1, 3, 4, 5, 6,
    20, MVT::v8f16,
     OPC_CheckPatternPredicate, 23,
     OPC_EmitMergeInputChains, 2, 0, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAhq),
                     MVT::v8f16, 5, 1, 3, 4, 5, 6,
    0,
   3|128,1, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_SwitchType , 40, 2|128,1,
     OPC_Scope, 18,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAfd),
                      2|128,1, 5, 1, 2, 3, 4, 5,
     18,
      OPC_CheckPatternPredicate, 33,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAfd),
                      2|128,1, 5, 1, 2, 3, 4, 5,
     0,
    40, 4|128,1,
     OPC_Scope, 18,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAfq),
                      4|128,1, 5, 1, 2, 3, 4, 5,
     18,
      OPC_CheckPatternPredicate, 33,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAfq),
                      4|128,1, 5, 1, 2, 3, 4, 5,
     0,
    17, MVT::v4f16,
     OPC_CheckPatternPredicate, 23,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAhd),
                     MVT::v4f16, 5, 1, 2, 3, 4, 5,
    17, MVT::v8f16,
     OPC_CheckPatternPredicate, 23,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAhq),
                     MVT::v8f16, 5, 1, 2, 3, 4, 5,
    0,
   0,
  39|128,2,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 24|128,1, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_SwitchType , 46, 2|128,1,
     OPC_Scope, 21,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAfd),
                      2|128,1, 5, 4, 2, 3, 5, 6,
     21,
      OPC_CheckPatternPredicate, 33,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAfd),
                      2|128,1, 5, 4, 2, 3, 5, 6,
     0,
    46, 4|128,1,
     OPC_Scope, 21,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAfq),
                      4|128,1, 5, 4, 2, 3, 5, 6,
     21,
      OPC_CheckPatternPredicate, 33,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAfq),
                      4|128,1, 5, 4, 2, 3, 5, 6,
     0,
    20, MVT::v4f16,
     OPC_CheckPatternPredicate, 23,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAhd),
                     MVT::v4f16, 5, 4, 2, 3, 5, 6,
    20, MVT::v8f16,
     OPC_CheckPatternPredicate, 23,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAhq),
                     MVT::v8f16, 5, 4, 2, 3, 5, 6,
    0,
   4|128,1, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_SwitchType , 40, 2|128,1,
     OPC_Scope, 18,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAfd),
                      2|128,1, 5, 3, 1, 2, 4, 5,
     18,
      OPC_CheckPatternPredicate, 33,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAfd),
                      2|128,1, 5, 3, 1, 2, 4, 5,
     0,
    40, 4|128,1,
     OPC_Scope, 18,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAfq),
                      4|128,1, 5, 3, 1, 2, 4, 5,
     18,
      OPC_CheckPatternPredicate, 33,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAfq),
                      4|128,1, 5, 3, 1, 2, 4, 5,
     0,
    17, MVT::v4f16,
     OPC_CheckPatternPredicate, 23,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAhd),
                     MVT::v4f16, 5, 3, 1, 2, 4, 5,
    17, MVT::v8f16,
     OPC_CheckPatternPredicate, 23,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAhq),
                     MVT::v8f16, 5, 3, 1, 2, 4, 5,
    0,
   0,
  0,
 21|128,38, TARGET_VAL(ISD::FADD),
  OPC_Scope, 12|128,2,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 3|128,1, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_SwitchType , 38, MVT::f64,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSD),
                      MVT::f64, 5, 3, 1, 2, 4, 5,
     17,
      OPC_CheckPatternPredicate, 26,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSD),
                      MVT::f64, 5, 3, 1, 2, 4, 5,
     0,
    38, MVT::f32,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 21,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSS),
                      MVT::f32, 5, 3, 1, 2, 4, 5,
     17,
      OPC_CheckPatternPredicate, 27,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSS),
                      MVT::f32, 5, 3, 1, 2, 4, 5,
     0,
    38, MVT::f16,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 30,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSH),
                      MVT::f16, 5, 3, 1, 2, 4, 5,
     17,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSH),
                      MVT::f16, 5, 3, 1, 2, 4, 5,
     0,
    0,
   123, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_SwitchType , 36, MVT::f64,
     OPC_Scope, 16,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSD),
                      MVT::f64, 5, 2, 0, 1, 3, 4,
     16,
      OPC_CheckPatternPredicate, 26,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMSD),
                      MVT::f64, 5, 2, 0, 1, 3, 4,
     0,
    36, MVT::f32,
     OPC_Scope, 16,
      OPC_CheckPatternPredicate, 21,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSS),
                      MVT::f32, 5, 2, 0, 1, 3, 4,
     16,
      OPC_CheckPatternPredicate, 27,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMSS),
                      MVT::f32, 5, 2, 0, 1, 3, 4,
     0,
    36, MVT::f16,
     OPC_Scope, 16,
      OPC_CheckPatternPredicate, 30,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSH),
                      MVT::f16, 5, 2, 0, 1, 3, 4,
     16,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMSH),
                      MVT::f16, 5, 2, 0, 1, 3, 4,
     0,
    0,
   0,
  11|128,2,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 2|128,1, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_SwitchType , 38, MVT::f64,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSD),
                      MVT::f64, 5, 0, 2, 3, 4, 5,
     17,
      OPC_CheckPatternPredicate, 26,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSD),
                      MVT::f64, 5, 0, 2, 3, 4, 5,
     0,
    38, MVT::f32,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 21,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSS),
                      MVT::f32, 5, 0, 2, 3, 4, 5,
     17,
      OPC_CheckPatternPredicate, 27,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSS),
                      MVT::f32, 5, 0, 2, 3, 4, 5,
     0,
    38, MVT::f16,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 30,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSH),
                      MVT::f16, 5, 0, 2, 3, 4, 5,
     17,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSH),
                      MVT::f16, 5, 0, 2, 3, 4, 5,
     0,
    0,
   122, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_SwitchType , 36, MVT::f64,
     OPC_Scope, 16,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSD),
                      MVT::f64, 5, 0, 1, 2, 3, 4,
     16,
      OPC_CheckPatternPredicate, 26,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMSD),
                      MVT::f64, 5, 0, 1, 2, 3, 4,
     0,
    36, MVT::f32,
     OPC_Scope, 16,
      OPC_CheckPatternPredicate, 21,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSS),
                      MVT::f32, 5, 0, 1, 2, 3, 4,
     16,
      OPC_CheckPatternPredicate, 27,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMSS),
                      MVT::f32, 5, 0, 1, 2, 3, 4,
     0,
    36, MVT::f16,
     OPC_Scope, 16,
      OPC_CheckPatternPredicate, 30,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSH),
                      MVT::f16, 5, 0, 1, 2, 3, 4,
     16,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMSH),
                      MVT::f16, 5, 0, 1, 2, 3, 4,
     0,
    0,
   0,
  10|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 67, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_SwitchType , 17, MVT::f64,
     OPC_CheckPatternPredicate, 20,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAD),
                     MVT::f64, 5, 3, 1, 2, 4, 5,
    17, MVT::f32,
     OPC_CheckPatternPredicate, 21,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAS),
                     MVT::f32, 5, 3, 1, 2, 4, 5,
    17, MVT::f16,
     OPC_CheckPatternPredicate, 30,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAH),
                     MVT::f16, 5, 3, 1, 2, 4, 5,
    0,
   62, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_SwitchType , 16, MVT::f64,
     OPC_CheckPatternPredicate, 20,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAD),
                     MVT::f64, 5, 2, 0, 1, 3, 4,
    16, MVT::f32,
     OPC_CheckPatternPredicate, 21,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAS),
                     MVT::f32, 5, 2, 0, 1, 3, 4,
    16, MVT::f16,
     OPC_CheckPatternPredicate, 30,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAH),
                     MVT::f16, 5, 2, 0, 1, 3, 4,
    0,
   0,
  9|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 66, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_SwitchType , 17, MVT::f64,
     OPC_CheckPatternPredicate, 20,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAD),
                     MVT::f64, 5, 0, 2, 3, 4, 5,
    17, MVT::f32,
     OPC_CheckPatternPredicate, 21,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAS),
                     MVT::f32, 5, 0, 2, 3, 4, 5,
    17, MVT::f16,
     OPC_CheckPatternPredicate, 32,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAH),
                     MVT::f16, 5, 0, 2, 3, 4, 5,
    0,
   61, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_SwitchType , 16, MVT::f64,
     OPC_CheckPatternPredicate, 20,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAD),
                     MVT::f64, 5, 0, 1, 2, 3, 4,
    16, MVT::f32,
     OPC_CheckPatternPredicate, 21,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAS),
                     MVT::f32, 5, 0, 1, 2, 3, 4,
    16, MVT::f16,
     OPC_CheckPatternPredicate, 32,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAH),
                     MVT::f16, 5, 0, 1, 2, 3, 4,
    0,
   0,
  10|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 67, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_SwitchType , 17, MVT::f64,
     OPC_CheckPatternPredicate, 26,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAD),
                     MVT::f64, 5, 3, 1, 2, 4, 5,
    17, MVT::f32,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAS),
                     MVT::f32, 5, 3, 1, 2, 4, 5,
    17, MVT::f16,
     OPC_CheckPatternPredicate, 31,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAH),
                     MVT::f16, 5, 3, 1, 2, 4, 5,
    0,
   62, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_SwitchType , 16, MVT::f64,
     OPC_CheckPatternPredicate, 26,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMAD),
                     MVT::f64, 5, 2, 0, 1, 3, 4,
    16, MVT::f32,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMAS),
                     MVT::f32, 5, 2, 0, 1, 3, 4,
    16, MVT::f16,
     OPC_CheckPatternPredicate, 31,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMAH),
                     MVT::f16, 5, 2, 0, 1, 3, 4,
    0,
   0,
  85|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 105, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_SwitchType , 17, MVT::f64,
     OPC_CheckPatternPredicate, 26,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAD),
                     MVT::f64, 5, 0, 2, 3, 4, 5,
    17, MVT::f32,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAS),
                     MVT::f32, 5, 0, 2, 3, 4, 5,
    56, MVT::f16,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 47,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAH),
                      MVT::f16, 5, 0, 2, 3, 4, 5,
     17,
      OPC_CheckPatternPredicate, 30,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAH),
                      MVT::f16, 5, 0, 2, 3, 4, 5,
     17,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAH),
                      MVT::f16, 5, 0, 2, 3, 4, 5,
     0,
    0,
   98, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_SwitchType , 16, MVT::f64,
     OPC_CheckPatternPredicate, 26,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMAD),
                     MVT::f64, 5, 0, 1, 2, 3, 4,
    16, MVT::f32,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMAS),
                     MVT::f32, 5, 0, 1, 2, 3, 4,
    53, MVT::f16,
     OPC_Scope, 16,
      OPC_CheckPatternPredicate, 47,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMAH),
                      MVT::f16, 5, 0, 1, 2, 3, 4,
     16,
      OPC_CheckPatternPredicate, 30,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAH),
                      MVT::f16, 5, 0, 1, 2, 3, 4,
     16,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMAH),
                      MVT::f16, 5, 0, 1, 2, 3, 4,
     0,
    0,
   0,
  101,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 48, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckType, MVT::f16,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate, 32,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAH),
                     MVT::f16, 5, 3, 1, 2, 4, 5,
    17,
     OPC_CheckPatternPredicate, 47,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAH),
                     MVT::f16, 5, 3, 1, 2, 4, 5,
    0,
   44, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckType, MVT::f16,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate, 32,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAH),
                     MVT::f16, 5, 2, 0, 1, 3, 4,
    16,
     OPC_CheckPatternPredicate, 47,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMAH),
                     MVT::f16, 5, 2, 0, 1, 3, 4,
    0,
   0,
  118|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::f32,
   OPC_Scope, 116,
    OPC_CheckPatternPredicate, 87,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    2|128,1, 0,
    OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    2|128,1, 2, 3, 4,
    OPC_EmitIntegerI32, ARM::ssub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    2|128,1, 3, 5, 0, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    2|128,1, 0,
    OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    2|128,1, 2, 8, 9,
    OPC_EmitIntegerI32, ARM::ssub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    2|128,1, 3, 10, 1, 11,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    2|128,1, 0,
    OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    2|128,1, 2, 13, 14,
    OPC_EmitIntegerI32, ARM::ssub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    2|128,1, 3, 15, 2, 16,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMLAfd),
                    MVT::f64, 5, 7, 12, 17, 18, 19,
    OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    2|128,1, 2, 20, 21,
    OPC_EmitIntegerI32, ARM::ssub_0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 22, 23,
   116,
    OPC_CheckPatternPredicate, 88,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    2|128,1, 0,
    OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    2|128,1, 2, 3, 4,
    OPC_EmitIntegerI32, ARM::ssub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    2|128,1, 3, 5, 0, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    2|128,1, 0,
    OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    2|128,1, 2, 8, 9,
    OPC_EmitIntegerI32, ARM::ssub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    2|128,1, 3, 10, 1, 11,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    2|128,1, 0,
    OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    2|128,1, 2, 13, 14,
    OPC_EmitIntegerI32, ARM::ssub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    2|128,1, 3, 15, 2, 16,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VFMAfd),
                    MVT::f64, 5, 7, 12, 17, 18, 19,
    OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    2|128,1, 2, 20, 21,
    OPC_EmitIntegerI32, ARM::ssub_0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 22, 23,
   0,
  118|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::f32,
   OPC_Scope, 116,
    OPC_CheckPatternPredicate, 87,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    2|128,1, 0,
    OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    2|128,1, 2, 3, 4,
    OPC_EmitIntegerI32, ARM::ssub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    2|128,1, 3, 5, 2, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    2|128,1, 0,
    OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    2|128,1, 2, 8, 9,
    OPC_EmitIntegerI32, ARM::ssub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    2|128,1, 3, 10, 0, 11,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    2|128,1, 0,
    OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    2|128,1, 2, 13, 14,
    OPC_EmitIntegerI32, ARM::ssub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    2|128,1, 3, 15, 1, 16,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VMLAfd),
                    MVT::f64, 5, 7, 12, 17, 18, 19,
    OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    2|128,1, 2, 20, 21,
    OPC_EmitIntegerI32, ARM::ssub_0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 22, 23,
   116,
    OPC_CheckPatternPredicate, 88,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    2|128,1, 0,
    OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    2|128,1, 2, 3, 4,
    OPC_EmitIntegerI32, ARM::ssub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    2|128,1, 3, 5, 2, 6,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    2|128,1, 0,
    OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    2|128,1, 2, 8, 9,
    OPC_EmitIntegerI32, ARM::ssub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    2|128,1, 3, 10, 0, 11,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    2|128,1, 0,
    OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    2|128,1, 2, 13, 14,
    OPC_EmitIntegerI32, ARM::ssub_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    2|128,1, 3, 15, 1, 16,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VFMAfd),
                    MVT::f64, 5, 7, 12, 17, 18, 19,
    OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    2|128,1, 2, 20, 21,
    OPC_EmitIntegerI32, ARM::ssub_0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 22, 23,
   0,
  119|128,1,
   OPC_RecordChild0,
   OPC_Scope, 18|128,1,
    OPC_RecordChild1,
    OPC_SwitchType , 15, MVT::f64,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDD),
                     MVT::f64, 4, 0, 1, 2, 3,
    107, MVT::f32,
     OPC_Scope, 15,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDS),
                      MVT::f32, 4, 0, 1, 2, 3,
     88,
      OPC_CheckPatternPredicate, 53,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      2|128,1, 0,
      OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      2|128,1, 2, 2, 3,
      OPC_EmitIntegerI32, ARM::ssub_0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      2|128,1, 3, 4, 0, 5,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      2|128,1, 0,
      OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      2|128,1, 2, 7, 8,
      OPC_EmitIntegerI32, ARM::ssub_0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      2|128,1, 3, 9, 1, 10,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(ARM::VADDfd),
                      MVT::f64, 4, 6, 11, 12, 13,
      OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      2|128,1, 2, 14, 15,
      OPC_EmitIntegerI32, ARM::ssub_0,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f32, 2, 16, 17,
     0,
    15, MVT::f16,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDH),
                     MVT::f16, 4, 0, 1, 2, 3,
    0,
   95,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_Scope, 44,
     OPC_CheckChild0Type, MVT::v4i1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0|128,13,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_f32),
                     4|128,1, 6, 0, 2, 3, 1, 4, 0,
    42,
     OPC_CheckChild0Type, MVT::v8i1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0|128,21,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_f16),
                     MVT::v8f16, 6, 0, 2, 3, 1, 4, 0,
    0,
   0,
  97,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
   OPC_RecordChild0,
   OPC_Scope, 45,
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 0|128,13,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_f32),
                    4|128,1, 6, 2, 1, 3, 0, 4, 2,
   43,
    OPC_CheckChild0Type, MVT::v8i1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 0|128,21,
    OPC_CheckType, MVT::v8i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_f16),
                    MVT::v8f16, 6, 2, 1, 3, 0, 4, 2,
   0,
  86,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
   OPC_RecordChild0,
   OPC_Scope, 39,
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 0|128,13,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDf32),
                    4|128,1, 6, 0, 2, 3, 1, 4, 0,
   37,
    OPC_CheckChild0Type, MVT::v8i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 0|128,21,
    OPC_CheckType, MVT::v8i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDf16),
                    MVT::v8f16, 6, 0, 2, 3, 1, 4, 0,
   0,
  87,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
   OPC_RecordChild0,
   OPC_Scope, 40,
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 0|128,13,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDf32),
                    4|128,1, 6, 2, 1, 3, 0, 4, 2,
   38,
    OPC_CheckChild0Type, MVT::v8i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 0|128,21,
    OPC_CheckType, MVT::v8i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDf16),
                    MVT::v8f16, 6, 2, 1, 3, 0, 4, 2,
   0,
  83,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 127|128,29,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_Scope, 30,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_MoveParent,
    OPC_CheckPredicate, 67,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMLAf16),
                    MVT::v8f16, 7, 0, 2, 3, 4, 5, 6, 7,
   34,
    OPC_CheckChild2Type, 4|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 4|128,1,
    OPC_MoveParent,
    OPC_CheckPredicate, 67,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMLAf32),
                    4|128,1, 7, 0, 2, 3, 4, 5, 6, 7,
   0,
  84,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 127|128,29,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_Scope, 31,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate, 67,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitConvertToTarget0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMLAf16),
                    MVT::v8f16, 7, 3, 1, 2, 4, 5, 6, 7,
   35,
    OPC_CheckChild2Type, 4|128,1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, 4|128,1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate, 67,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitConvertToTarget0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMLAf32),
                    4|128,1, 7, 3, 1, 2, 4, 5, 6, 7,
   0,
  62|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 115, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_Scope, 67,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 2|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_CheckPredicate1,
     OPC_SwitchType , 20, 2|128,1,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitConvertToTarget4,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfd),
                      2|128,1, 6, 0, 2, 3, 5, 6, 7,
     20, 4|128,1,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitConvertToTarget4,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfq),
                      4|128,1, 6, 0, 2, 3, 5, 6, 7,
     0,
    42,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 2|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_CheckPredicate1,
     OPC_CheckType, 2|128,1,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfd),
                     2|128,1, 6, 0, 4, 2, 5, 6, 7,
    0,
   65, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 2|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_SwitchType , 19, 2|128,1,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslfd),
                     2|128,1, 6, 0, 1, 2, 4, 5, 6,
    19, 4|128,1,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslfq),
                     4|128,1, 6, 0, 1, 2, 4, 5, 6,
    0,
   0,
  96,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FMUL),
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_Scope, 43,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 2|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckType, 2|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfd),
                    2|128,1, 6, 4, 1, 2, 5, 6, 7,
   43,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 2|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckType, 2|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfd),
                    2|128,1, 6, 4, 3, 1, 5, 6, 7,
   0,
  46,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 2|128,1,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckPredicate0,
   OPC_MoveParent,
   OPC_CheckPredicate1,
   OPC_CheckType, 2|128,1,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslfd),
                   2|128,1, 6, 0, 3, 1, 4, 5, 6,
  92,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
   OPC_Scope, 42,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 2|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckType, 2|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslfd),
                    2|128,1, 6, 3, 0, 1, 4, 5, 6,
   42,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 2|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckType, 2|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslfd),
                    2|128,1, 6, 3, 2, 0, 4, 5, 6,
   0,
  49,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FMUL),
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 2|128,1,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckPredicate0,
   OPC_MoveParent,
   OPC_CheckPredicate1,
   OPC_CheckType, 4|128,1,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitMergeInputChains1_1,
   OPC_EmitConvertToTarget3,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfq),
                   4|128,1, 6, 0, 4, 2, 5, 6, 7,
  96,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FMUL),
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_Scope, 43,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 2|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfq),
                    4|128,1, 6, 4, 1, 2, 5, 6, 7,
   43,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 2|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfq),
                    4|128,1, 6, 4, 3, 1, 5, 6, 7,
   0,
  46,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 2|128,1,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckPredicate0,
   OPC_MoveParent,
   OPC_CheckPredicate1,
   OPC_CheckType, 4|128,1,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslfq),
                   4|128,1, 6, 0, 3, 1, 4, 5, 6,
  92,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
   OPC_Scope, 42,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 2|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslfq),
                    4|128,1, 6, 3, 0, 1, 4, 5, 6,
   42,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 2|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslfq),
                    4|128,1, 6, 3, 2, 0, 4, 5, 6,
   0,
  58|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 120, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_Scope, 57,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_CheckPredicate1,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitConvertToTarget4,
     OPC_EmitNodeXForm, 7, 5,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     2|128,1, 2, 3, 6,
     OPC_EmitConvertToTarget4,
     OPC_EmitNodeXForm, 8, 8,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfq),
                     4|128,1, 6, 0, 2, 7, 9, 10, 11,
    57,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, 4|128,1,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_CheckPredicate1,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitConvertToTarget3,
     OPC_EmitNodeXForm, 7, 5,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     2|128,1, 2, 2, 6,
     OPC_EmitConvertToTarget3,
     OPC_EmitNodeXForm, 8, 8,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfq),
                     4|128,1, 6, 0, 4, 7, 9, 10, 11,
    0,
   56, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 7, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    2|128,1, 2, 2, 5,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 8, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslfq),
                    4|128,1, 6, 0, 1, 6, 8, 9, 10,
   0,
  126,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::STRICT_FMUL),
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_Scope, 58,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 7, 5,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    2|128,1, 2, 2, 6,
    OPC_EmitConvertToTarget3,
    OPC_EmitNodeXForm, 8, 8,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfq),
                    4|128,1, 6, 4, 1, 7, 9, 10, 11,
   58,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 7, 5,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    2|128,1, 2, 1, 6,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 8, 8,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAslfq),
                    4|128,1, 6, 4, 3, 7, 9, 10, 11,
   0,
  61,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
   OPC_RecordChild0,
   OPC_CheckChild0Type, 4|128,1,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckPredicate0,
   OPC_MoveParent,
   OPC_CheckPredicate1,
   OPC_CheckType, 4|128,1,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitConvertToTarget2,
   OPC_EmitNodeXForm, 7, 4,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   2|128,1, 2, 1, 5,
   OPC_EmitConvertToTarget2,
   OPC_EmitNodeXForm, 8, 7,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslfq),
                   4|128,1, 6, 0, 3, 6, 8, 9, 10,
  122,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
   OPC_Scope, 57,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 7, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    2|128,1, 2, 1, 5,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 8, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslfq),
                    4|128,1, 6, 3, 0, 6, 8, 9, 10,
   57,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 7, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    2|128,1, 2, 0, 5,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 8, 7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslfq),
                    4|128,1, 6, 3, 2, 6, 8, 9, 10,
   0,
  103,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
   OPC_Scope, 58,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 18, MVT::v4f16,
     OPC_CheckPatternPredicate, 23,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslhd),
                     MVT::v4f16, 6, 0, 1, 2, 4, 5, 6,
    18, MVT::v8f16,
     OPC_CheckPatternPredicate, 23,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslhq),
                     MVT::v8f16, 6, 0, 1, 2, 4, 5, 6,
    0,
   36,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4f16,
    OPC_CheckPatternPredicate, 23,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslhd),
                    MVT::v4f16, 6, 0, 3, 1, 4, 5, 6,
   0,
  82,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
   OPC_Scope, 37,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4f16,
    OPC_CheckPatternPredicate, 23,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslhd),
                    MVT::v4f16, 6, 3, 0, 1, 4, 5, 6,
   37,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4f16,
    OPC_CheckPatternPredicate, 23,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslhd),
                    MVT::v4f16, 6, 3, 2, 0, 4, 5, 6,
   0,
  41,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v4f16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8f16,
   OPC_CheckPatternPredicate, 23,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslhq),
                   MVT::v8f16, 6, 0, 3, 1, 4, 5, 6,
  82,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
   OPC_Scope, 37,
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate, 23,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslhq),
                    MVT::v8f16, 6, 3, 0, 1, 4, 5, 6,
   37,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate, 23,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAslhq),
                    MVT::v8f16, 6, 3, 2, 0, 4, 5, 6,
   0,
  13|128,2,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 5|128,1, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_SwitchType , 40, 2|128,1,
     OPC_Scope, 18,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAfd),
                      2|128,1, 5, 0, 2, 3, 4, 5,
     18,
      OPC_CheckPatternPredicate, 33,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAfd),
                      2|128,1, 5, 0, 2, 3, 4, 5,
     0,
    40, 4|128,1,
     OPC_Scope, 18,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAfq),
                      4|128,1, 5, 0, 2, 3, 4, 5,
     18,
      OPC_CheckPatternPredicate, 33,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAfq),
                      4|128,1, 5, 0, 2, 3, 4, 5,
     0,
    17, MVT::v4f16,
     OPC_CheckPatternPredicate, 23,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAhd),
                     MVT::v4f16, 5, 0, 2, 3, 4, 5,
    17, MVT::v8f16,
     OPC_CheckPatternPredicate, 23,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAhq),
                     MVT::v8f16, 5, 0, 2, 3, 4, 5,
    0,
   125, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_SwitchType , 38, 2|128,1,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAfd),
                      2|128,1, 5, 0, 1, 2, 3, 4,
     17,
      OPC_CheckPatternPredicate, 33,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMAfd),
                      2|128,1, 5, 0, 1, 2, 3, 4,
     0,
    38, 4|128,1,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAfq),
                      4|128,1, 5, 0, 1, 2, 3, 4,
     17,
      OPC_CheckPatternPredicate, 33,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMAfq),
                      4|128,1, 5, 0, 1, 2, 3, 4,
     0,
    16, MVT::v4f16,
     OPC_CheckPatternPredicate, 23,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAhd),
                     MVT::v4f16, 5, 0, 1, 2, 3, 4,
    16, MVT::v8f16,
     OPC_CheckPatternPredicate, 23,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAhq),
                     MVT::v8f16, 5, 0, 1, 2, 3, 4,
    0,
   0,
  14|128,2,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 6|128,1, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_SwitchType , 40, 2|128,1,
     OPC_Scope, 18,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAfd),
                      2|128,1, 5, 3, 1, 2, 4, 5,
     18,
      OPC_CheckPatternPredicate, 33,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAfd),
                      2|128,1, 5, 3, 1, 2, 4, 5,
     0,
    40, 4|128,1,
     OPC_Scope, 18,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAfq),
                      4|128,1, 5, 3, 1, 2, 4, 5,
     18,
      OPC_CheckPatternPredicate, 33,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAfq),
                      4|128,1, 5, 3, 1, 2, 4, 5,
     0,
    17, MVT::v4f16,
     OPC_CheckPatternPredicate, 23,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAhd),
                     MVT::v4f16, 5, 3, 1, 2, 4, 5,
    17, MVT::v8f16,
     OPC_CheckPatternPredicate, 23,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLAhq),
                     MVT::v8f16, 5, 3, 1, 2, 4, 5,
    0,
   126, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_SwitchType , 38, 2|128,1,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAfd),
                      2|128,1, 5, 2, 0, 1, 3, 4,
     17,
      OPC_CheckPatternPredicate, 33,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMAfd),
                      2|128,1, 5, 2, 0, 1, 3, 4,
     0,
    38, 4|128,1,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAfq),
                      4|128,1, 5, 2, 0, 1, 3, 4,
     17,
      OPC_CheckPatternPredicate, 33,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMAfq),
                      4|128,1, 5, 2, 0, 1, 3, 4,
     0,
    16, MVT::v4f16,
     OPC_CheckPatternPredicate, 23,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAhd),
                     MVT::v4f16, 5, 2, 0, 1, 3, 4,
    16, MVT::v8f16,
     OPC_CheckPatternPredicate, 23,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLAhq),
                     MVT::v8f16, 5, 2, 0, 1, 3, 4,
    0,
   0,
  108,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 41, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_SwitchType , 16, MVT::v4f16,
     OPC_CheckPatternPredicate, 62,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMAhd),
                     MVT::v4f16, 5, 0, 1, 2, 3, 4,
    16, MVT::v8f16,
     OPC_CheckPatternPredicate, 62,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMAhq),
                     MVT::v8f16, 5, 0, 1, 2, 3, 4,
    0,
   57, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_SwitchType , 24, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_f32),
                     4|128,1, 6, 0, 1, 2, 3, 4, 5,
    23, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_f16),
                     MVT::v8f16, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  109,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 42, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 16, MVT::v4f16,
     OPC_CheckPatternPredicate, 62,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMAhd),
                     MVT::v4f16, 5, 2, 0, 1, 3, 4,
    16, MVT::v8f16,
     OPC_CheckPatternPredicate, 62,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMAhq),
                     MVT::v8f16, 5, 2, 0, 1, 3, 4,
    0,
   58, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 24, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_f32),
                     4|128,1, 6, 1, 0, 2, 3, 4, 5,
    23, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_f16),
                     MVT::v8f16, 6, 1, 0, 2, 3, 4, 5,
    0,
   0,
  1|128,1,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 15, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDfd),
                    2|128,1, 4, 0, 1, 2, 3,
   43, 4|128,1,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDfq),
                     4|128,1, 4, 0, 1, 2, 3,
    24,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDf32),
                     4|128,1, 6, 0, 1, 2, 3, 4, 5,
    0,
   15, MVT::v4f16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDhd),
                    MVT::v4f16, 4, 0, 1, 2, 3,
   42, MVT::v8f16,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDhq),
                     MVT::v8f16, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDf16),
                     MVT::v8f16, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  0,
 50|128,15, TARGET_VAL(ISD::STRICT_FSUB),
  OPC_RecordNode,
  OPC_Scope, 126|128,3,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_Scope, 69|128,1,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 101, TARGET_VAL(ISD::STRICT_FMUL),
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate1,
     OPC_SwitchType , 20, MVT::f64,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLAD),
                      MVT::f64, 5, 4, 2, 3, 5, 6,
     20, MVT::f32,
      OPC_CheckPatternPredicate, 21,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLAS),
                      MVT::f32, 5, 4, 2, 3, 5, 6,
     44, MVT::f16,
      OPC_Scope, 20,
       OPC_CheckPatternPredicate, 30,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLAH),
                       MVT::f16, 5, 4, 2, 3, 5, 6,
      20,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitMergeInputChains, 2, 0, 1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLAH),
                       MVT::f16, 5, 4, 2, 3, 5, 6,
      0,
     0,
    87, TARGET_VAL(ISD::FMUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate1,
     OPC_SwitchType , 17, MVT::f64,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLAD),
                      MVT::f64, 5, 3, 1, 2, 4, 5,
     17, MVT::f32,
      OPC_CheckPatternPredicate, 21,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLAS),
                      MVT::f32, 5, 3, 1, 2, 4, 5,
     38, MVT::f16,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 30,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLAH),
                       MVT::f16, 5, 3, 1, 2, 4, 5,
      17,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLAH),
                       MVT::f16, 5, 3, 1, 2, 4, 5,
      0,
     0,
    0,
   21|128,1,
    OPC_RecordChild0,
    OPC_MoveSibling2,
    OPC_SwitchOpcode , 75, TARGET_VAL(ISD::STRICT_FMUL),
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_CheckPredicate1,
     OPC_SwitchType , 20, MVT::f64,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLAD),
                      MVT::f64, 5, 1, 3, 4, 5, 6,
     20, MVT::f32,
      OPC_CheckPatternPredicate, 21,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLAS),
                      MVT::f32, 5, 1, 3, 4, 5, 6,
     20, MVT::f16,
      OPC_CheckPatternPredicate, 32,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLAH),
                      MVT::f16, 5, 1, 3, 4, 5, 6,
     0,
    64, TARGET_VAL(ISD::FMUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_CheckPredicate1,
     OPC_SwitchType , 17, MVT::f64,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLAD),
                      MVT::f64, 5, 1, 2, 3, 4, 5,
     17, MVT::f32,
      OPC_CheckPatternPredicate, 21,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLAS),
                      MVT::f32, 5, 1, 2, 3, 4, 5,
     17, MVT::f16,
      OPC_CheckPatternPredicate, 32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLAH),
                      MVT::f16, 5, 1, 2, 3, 4, 5,
     0,
    0,
   24|128,1,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 77, TARGET_VAL(ISD::STRICT_FMUL),
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate1,
     OPC_SwitchType , 20, MVT::f64,
      OPC_CheckPatternPredicate, 26,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMAD),
                      MVT::f64, 5, 4, 2, 3, 5, 6,
     20, MVT::f32,
      OPC_CheckPatternPredicate, 27,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMAS),
                      MVT::f32, 5, 4, 2, 3, 5, 6,
     20, MVT::f16,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMAH),
                      MVT::f16, 5, 4, 2, 3, 5, 6,
     0,
    66, TARGET_VAL(ISD::FMUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckPredicate1,
     OPC_SwitchType , 17, MVT::f64,
      OPC_CheckPatternPredicate, 26,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMAD),
                      MVT::f64, 5, 3, 1, 2, 4, 5,
     17, MVT::f32,
      OPC_CheckPatternPredicate, 27,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMAS),
                      MVT::f32, 5, 3, 1, 2, 4, 5,
     17, MVT::f16,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMAH),
                      MVT::f16, 5, 3, 1, 2, 4, 5,
     0,
    0,
   0,
  21|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_SwitchOpcode , 75, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_SwitchType , 20, MVT::f64,
     OPC_CheckPatternPredicate, 20,
     OPC_EmitMergeInputChains, 2, 0, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSD),
                     MVT::f64, 5, 1, 3, 4, 5, 6,
    20, MVT::f32,
     OPC_CheckPatternPredicate, 21,
     OPC_EmitMergeInputChains, 2, 0, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSS),
                     MVT::f32, 5, 1, 3, 4, 5, 6,
    20, MVT::f16,
     OPC_CheckPatternPredicate, 32,
     OPC_EmitMergeInputChains, 2, 0, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSH),
                     MVT::f16, 5, 1, 3, 4, 5, 6,
    0,
   64, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_SwitchType , 17, MVT::f64,
     OPC_CheckPatternPredicate, 20,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSD),
                     MVT::f64, 5, 1, 2, 3, 4, 5,
    17, MVT::f32,
     OPC_CheckPatternPredicate, 21,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSS),
                     MVT::f32, 5, 1, 2, 3, 4, 5,
    17, MVT::f16,
     OPC_CheckPatternPredicate, 32,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSH),
                     MVT::f16, 5, 1, 2, 3, 4, 5,
    0,
   0,
  67|128,1,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 100, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_SwitchType , 20, MVT::f64,
     OPC_CheckPatternPredicate, 20,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLSD),
                     MVT::f64, 5, 4, 2, 3, 5, 6,
    20, MVT::f32,
     OPC_CheckPatternPredicate, 21,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLSS),
                     MVT::f32, 5, 4, 2, 3, 5, 6,
    44, MVT::f16,
     OPC_Scope, 20,
      OPC_CheckPatternPredicate, 30,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLSH),
                      MVT::f16, 5, 4, 2, 3, 5, 6,
     20,
      OPC_CheckPatternPredicate, 32,
      OPC_EmitMergeInputChains, 2, 0, 1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLSH),
                      MVT::f16, 5, 4, 2, 3, 5, 6,
     0,
    0,
   86, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_SwitchType , 17, MVT::f64,
     OPC_CheckPatternPredicate, 20,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLSD),
                     MVT::f64, 5, 3, 1, 2, 4, 5,
    17, MVT::f32,
     OPC_CheckPatternPredicate, 21,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLSS),
                     MVT::f32, 5, 3, 1, 2, 4, 5,
    38, MVT::f16,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 30,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLSH),
                      MVT::f16, 5, 3, 1, 2, 4, 5,
     17,
      OPC_CheckPatternPredicate, 32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLSH),
                      MVT::f16, 5, 3, 1, 2, 4, 5,
     0,
    0,
   0,
  21|128,1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_SwitchOpcode , 75, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_SwitchType , 20, MVT::f64,
     OPC_CheckPatternPredicate, 26,
     OPC_EmitMergeInputChains, 2, 0, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSD),
                     MVT::f64, 5, 1, 3, 4, 5, 6,
    20, MVT::f32,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitMergeInputChains, 2, 0, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSS),
                     MVT::f32, 5, 1, 3, 4, 5, 6,
    20, MVT::f16,
     OPC_CheckPatternPredicate, 47,
     OPC_EmitMergeInputChains, 2, 0, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSH),
                     MVT::f16, 5, 1, 3, 4, 5, 6,
    0,
   64, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_SwitchType , 17, MVT::f64,
     OPC_CheckPatternPredicate, 26,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSD),
                     MVT::f64, 5, 1, 2, 3, 4, 5,
    17, MVT::f32,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSS),
                     MVT::f32, 5, 1, 2, 3, 4, 5,
    17, MVT::f16,
     OPC_CheckPatternPredicate, 47,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSH),
                     MVT::f16, 5, 1, 2, 3, 4, 5,
    0,
   0,
  22|128,1,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 76, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_SwitchType , 20, MVT::f64,
     OPC_CheckPatternPredicate, 26,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMSD),
                     MVT::f64, 5, 4, 2, 3, 5, 6,
    20, MVT::f32,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMSS),
                     MVT::f32, 5, 4, 2, 3, 5, 6,
    20, MVT::f16,
     OPC_CheckPatternPredicate, 31,
     OPC_EmitMergeInputChains, 2, 0, 1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMSH),
                     MVT::f16, 5, 4, 2, 3, 5, 6,
    0,
   65, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckPredicate1,
    OPC_SwitchType , 17, MVT::f64,
     OPC_CheckPatternPredicate, 26,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMSD),
                     MVT::f64, 5, 3, 1, 2, 4, 5,
    17, MVT::f32,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMSS),
                     MVT::f32, 5, 3, 1, 2, 4, 5,
    17, MVT::f16,
     OPC_CheckPatternPredicate, 31,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMSH),
                     MVT::f16, 5, 3, 1, 2, 4, 5,
    0,
   0,
  34|128,6,
   OPC_RecordChild1,
   OPC_Scope, 57,
    OPC_RecordChild2,
    OPC_SwitchType , 16, MVT::f64,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VSUBD),
                     MVT::f64, 4, 1, 2, 3, 4,
    16, MVT::f32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VSUBS),
                     MVT::f32, 4, 1, 2, 3, 4,
    16, MVT::f16,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VSUBH),
                     MVT::f16, 4, 1, 2, 3, 4,
    0,
   99|128,5,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 124|128,2, TARGET_VAL(ISD::STRICT_FMUL),
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_Scope, 73,
      OPC_RecordChild1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 2|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckPredicate1,
      OPC_SwitchType , 23, 2|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget5,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSslfd),
                       2|128,1, 6, 1, 3, 4, 6, 7, 8,
      23, 4|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget5,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSslfq),
                       4|128,1, 6, 1, 3, 4, 6, 7, 8,
      0,
     73,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 2|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckPredicate1,
      OPC_SwitchType , 23, 2|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSslfd),
                       2|128,1, 6, 1, 5, 3, 6, 7, 8,
      23, 4|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains, 2, 0, 2,
       OPC_EmitConvertToTarget4,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSslfq),
                       4|128,1, 6, 1, 5, 3, 6, 7, 8,
      0,
     60,
      OPC_RecordChild1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckPredicate1,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitConvertToTarget5,
      OPC_EmitNodeXForm, 7, 6,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      2|128,1, 2, 4, 7,
      OPC_EmitConvertToTarget5,
      OPC_EmitNodeXForm, 8, 9,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSslfq),
                      4|128,1, 6, 1, 3, 8, 10, 11, 12,
     60,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckPredicate1,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains, 2, 0, 2,
      OPC_EmitConvertToTarget4,
      OPC_EmitNodeXForm, 7, 6,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      2|128,1, 2, 3, 7,
      OPC_EmitConvertToTarget4,
      OPC_EmitNodeXForm, 8, 9,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSslfq),
                      4|128,1, 6, 1, 5, 8, 10, 11, 12,
     105,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckPredicate1,
      OPC_SwitchType , 46, 2|128,1,
       OPC_Scope, 21,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitMergeInputChains, 2, 0, 2,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSfd),
                        2|128,1, 5, 1, 3, 4, 5, 6,
       21,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitMergeInputChains, 2, 0, 2,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSfd),
                        2|128,1, 5, 1, 3, 4, 5, 6,
       0,
      46, 4|128,1,
       OPC_Scope, 21,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitMergeInputChains, 2, 0, 2,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSfq),
                        4|128,1, 5, 1, 3, 4, 5, 6,
       21,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitMergeInputChains, 2, 0, 2,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSfq),
                        4|128,1, 5, 1, 3, 4, 5, 6,
       0,
      0,
     0,
    92|128,2, TARGET_VAL(ISD::FMUL),
     OPC_Scope, 67,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 2|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckPredicate1,
      OPC_SwitchType , 20, 2|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSslfd),
                       2|128,1, 6, 1, 2, 3, 5, 6, 7,
      20, 4|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget4,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSslfq),
                       4|128,1, 6, 1, 2, 3, 5, 6, 7,
      0,
     67,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 2|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckPredicate1,
      OPC_SwitchType , 20, 2|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSslfd),
                       2|128,1, 6, 1, 4, 2, 5, 6, 7,
      20, 4|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSslfq),
                       4|128,1, 6, 1, 4, 2, 5, 6, 7,
      0,
     57,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckPredicate1,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget4,
      OPC_EmitNodeXForm, 7, 5,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      2|128,1, 2, 3, 6,
      OPC_EmitConvertToTarget4,
      OPC_EmitNodeXForm, 8, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSslfq),
                      4|128,1, 6, 1, 2, 7, 9, 10, 11,
     57,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckPredicate1,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 7, 5,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      2|128,1, 2, 2, 6,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 8, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSslfq),
                      4|128,1, 6, 1, 4, 7, 9, 10, 11,
     93,
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckPredicate1,
      OPC_SwitchType , 40, 2|128,1,
       OPC_Scope, 18,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSfd),
                        2|128,1, 5, 1, 2, 3, 4, 5,
       18,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSfd),
                        2|128,1, 5, 1, 2, 3, 4, 5,
       0,
      40, 4|128,1,
       OPC_Scope, 18,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSfq),
                        4|128,1, 5, 1, 2, 3, 4, 5,
       18,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSfq),
                        4|128,1, 5, 1, 2, 3, 4, 5,
       0,
      0,
     0,
    0,
   0,
  0,
 49|128,21, TARGET_VAL(ISD::FSUB),
  OPC_Scope, 86|128,3,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_Scope, 53|128,1,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 89, TARGET_VAL(ISD::STRICT_FMUL),
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate1,
     OPC_SwitchType , 17, MVT::f64,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLAD),
                      MVT::f64, 5, 3, 1, 2, 4, 5,
     17, MVT::f32,
      OPC_CheckPatternPredicate, 21,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLAS),
                      MVT::f32, 5, 3, 1, 2, 4, 5,
     38, MVT::f16,
      OPC_Scope, 17,
       OPC_CheckPatternPredicate, 30,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLAH),
                       MVT::f16, 5, 3, 1, 2, 4, 5,
      17,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLAH),
                       MVT::f16, 5, 3, 1, 2, 4, 5,
      0,
     0,
    83, TARGET_VAL(ISD::FMUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate1,
     OPC_SwitchType , 16, MVT::f64,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNMLAD),
                      MVT::f64, 5, 2, 0, 1, 3, 4,
     16, MVT::f32,
      OPC_CheckPatternPredicate, 21,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNMLAS),
                      MVT::f32, 5, 2, 0, 1, 3, 4,
     36, MVT::f16,
      OPC_Scope, 16,
       OPC_CheckPatternPredicate, 30,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNMLAH),
                       MVT::f16, 5, 2, 0, 1, 3, 4,
      16,
       OPC_CheckPatternPredicate, 32,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNMLAH),
                       MVT::f16, 5, 2, 0, 1, 3, 4,
      0,
     0,
    0,
   9|128,1,
    OPC_RecordChild0,
    OPC_MoveSibling1,
    OPC_SwitchOpcode , 66, TARGET_VAL(ISD::STRICT_FMUL),
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_CheckPredicate1,
     OPC_SwitchType , 17, MVT::f64,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLAD),
                      MVT::f64, 5, 0, 2, 3, 4, 5,
     17, MVT::f32,
      OPC_CheckPatternPredicate, 21,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLAS),
                      MVT::f32, 5, 0, 2, 3, 4, 5,
     17, MVT::f16,
      OPC_CheckPatternPredicate, 32,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLAH),
                      MVT::f16, 5, 0, 2, 3, 4, 5,
     0,
    61, TARGET_VAL(ISD::FMUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_CheckPredicate1,
     OPC_SwitchType , 16, MVT::f64,
      OPC_CheckPatternPredicate, 20,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNMLAD),
                      MVT::f64, 5, 0, 1, 2, 3, 4,
     16, MVT::f32,
      OPC_CheckPatternPredicate, 21,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNMLAS),
                      MVT::f32, 5, 0, 1, 2, 3, 4,
     16, MVT::f16,
      OPC_CheckPatternPredicate, 32,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNMLAH),
                      MVT::f16, 5, 0, 1, 2, 3, 4,
     0,
    0,
   12|128,1,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 68, TARGET_VAL(ISD::STRICT_FMUL),
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate1,
     OPC_SwitchType , 17, MVT::f64,
      OPC_CheckPatternPredicate, 26,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMAD),
                      MVT::f64, 5, 3, 1, 2, 4, 5,
     17, MVT::f32,
      OPC_CheckPatternPredicate, 27,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMAS),
                      MVT::f32, 5, 3, 1, 2, 4, 5,
     17, MVT::f16,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMAH),
                      MVT::f16, 5, 3, 1, 2, 4, 5,
     0,
    63, TARGET_VAL(ISD::FMUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_CheckPredicate0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate1,
     OPC_SwitchType , 16, MVT::f64,
      OPC_CheckPatternPredicate, 26,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFNMAD),
                      MVT::f64, 5, 2, 0, 1, 3, 4,
     16, MVT::f32,
      OPC_CheckPatternPredicate, 27,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFNMAS),
                      MVT::f32, 5, 2, 0, 1, 3, 4,
     16, MVT::f16,
      OPC_CheckPatternPredicate, 31,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFNMAH),
                      MVT::f16, 5, 2, 0, 1, 3, 4,
     0,
    0,
   0,
  9|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 66, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_SwitchType , 17, MVT::f64,
     OPC_CheckPatternPredicate, 20,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSD),
                     MVT::f64, 5, 0, 2, 3, 4, 5,
    17, MVT::f32,
     OPC_CheckPatternPredicate, 21,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSS),
                     MVT::f32, 5, 0, 2, 3, 4, 5,
    17, MVT::f16,
     OPC_CheckPatternPredicate, 32,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSH),
                     MVT::f16, 5, 0, 2, 3, 4, 5,
    0,
   61, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_SwitchType , 16, MVT::f64,
     OPC_CheckPatternPredicate, 20,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSD),
                     MVT::f64, 5, 0, 1, 2, 3, 4,
    16, MVT::f32,
     OPC_CheckPatternPredicate, 21,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSS),
                     MVT::f32, 5, 0, 1, 2, 3, 4,
    16, MVT::f16,
     OPC_CheckPatternPredicate, 32,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSH),
                     MVT::f16, 5, 0, 1, 2, 3, 4,
    0,
   0,
  51|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 88, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_SwitchType , 17, MVT::f64,
     OPC_CheckPatternPredicate, 20,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLSD),
                     MVT::f64, 5, 3, 1, 2, 4, 5,
    17, MVT::f32,
     OPC_CheckPatternPredicate, 21,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLSS),
                     MVT::f32, 5, 3, 1, 2, 4, 5,
    38, MVT::f16,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 30,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLSH),
                      MVT::f16, 5, 3, 1, 2, 4, 5,
     17,
      OPC_CheckPatternPredicate, 32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMLSH),
                      MVT::f16, 5, 3, 1, 2, 4, 5,
     0,
    0,
   82, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_SwitchType , 16, MVT::f64,
     OPC_CheckPatternPredicate, 20,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNMLSD),
                     MVT::f64, 5, 2, 0, 1, 3, 4,
    16, MVT::f32,
     OPC_CheckPatternPredicate, 21,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNMLSS),
                     MVT::f32, 5, 2, 0, 1, 3, 4,
    36, MVT::f16,
     OPC_Scope, 16,
      OPC_CheckPatternPredicate, 30,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNMLSH),
                      MVT::f16, 5, 2, 0, 1, 3, 4,
     16,
      OPC_CheckPatternPredicate, 32,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNMLSH),
                      MVT::f16, 5, 2, 0, 1, 3, 4,
     0,
    0,
   0,
  9|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 66, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_SwitchType , 17, MVT::f64,
     OPC_CheckPatternPredicate, 26,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSD),
                     MVT::f64, 5, 0, 2, 3, 4, 5,
    17, MVT::f32,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSS),
                     MVT::f32, 5, 0, 2, 3, 4, 5,
    17, MVT::f16,
     OPC_CheckPatternPredicate, 47,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSH),
                     MVT::f16, 5, 0, 2, 3, 4, 5,
    0,
   61, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_CheckPredicate1,
    OPC_SwitchType , 16, MVT::f64,
     OPC_CheckPatternPredicate, 26,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMSD),
                     MVT::f64, 5, 0, 1, 2, 3, 4,
    16, MVT::f32,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMSS),
                     MVT::f32, 5, 0, 1, 2, 3, 4,
    16, MVT::f16,
     OPC_CheckPatternPredicate, 47,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMSH),
                     MVT::f16, 5, 0, 1, 2, 3, 4,
    0,
   0,
  10|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 67, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_CheckFoldableChainNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_SwitchType , 17, MVT::f64,
     OPC_CheckPatternPredicate, 26,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMSD),
                     MVT::f64, 5, 3, 1, 2, 4, 5,
    17, MVT::f32,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMSS),
                     MVT::f32, 5, 3, 1, 2, 4, 5,
    17, MVT::f16,
     OPC_CheckPatternPredicate, 31,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMSH),
                     MVT::f16, 5, 3, 1, 2, 4, 5,
    0,
   62, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPredicate1,
    OPC_SwitchType , 16, MVT::f64,
     OPC_CheckPatternPredicate, 26,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFNMSD),
                     MVT::f64, 5, 2, 0, 1, 3, 4,
    16, MVT::f32,
     OPC_CheckPatternPredicate, 27,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFNMSS),
                     MVT::f32, 5, 2, 0, 1, 3, 4,
    16, MVT::f16,
     OPC_CheckPatternPredicate, 31,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFNMSH),
                     MVT::f16, 5, 2, 0, 1, 3, 4,
    0,
   0,
  126|128,12,
   OPC_RecordChild0,
   OPC_Scope, 117|128,1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_Scope, 116,
     OPC_CheckPatternPredicate, 87,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     2|128,1, 0,
     OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     2|128,1, 2, 3, 4,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     2|128,1, 3, 5, 0, 6,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     2|128,1, 0,
     OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     2|128,1, 2, 8, 9,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     2|128,1, 3, 10, 1, 11,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     2|128,1, 0,
     OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     2|128,1, 2, 13, 14,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     2|128,1, 3, 15, 2, 16,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VMLSfd),
                     MVT::f64, 5, 7, 12, 17, 18, 19,
     OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     2|128,1, 2, 20, 21,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f32, 2, 22, 23,
    116,
     OPC_CheckPatternPredicate, 88,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     2|128,1, 0,
     OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     2|128,1, 2, 3, 4,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     2|128,1, 3, 5, 0, 6,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     2|128,1, 0,
     OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     2|128,1, 2, 8, 9,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     2|128,1, 3, 10, 1, 11,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     2|128,1, 0,
     OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     2|128,1, 2, 13, 14,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     2|128,1, 3, 15, 2, 16,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VFMSfd),
                     MVT::f64, 5, 7, 12, 17, 18, 19,
     OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     2|128,1, 2, 20, 21,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f32, 2, 22, 23,
    0,
   18|128,1,
    OPC_RecordChild1,
    OPC_SwitchType , 15, MVT::f64,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBD),
                     MVT::f64, 4, 0, 1, 2, 3,
    107, MVT::f32,
     OPC_Scope, 15,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBS),
                      MVT::f32, 4, 0, 1, 2, 3,
     88,
      OPC_CheckPatternPredicate, 53,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      2|128,1, 0,
      OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      2|128,1, 2, 2, 3,
      OPC_EmitIntegerI32, ARM::ssub_0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      2|128,1, 3, 4, 0, 5,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      2|128,1, 0,
      OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      2|128,1, 2, 7, 8,
      OPC_EmitIntegerI32, ARM::ssub_0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      2|128,1, 3, 9, 1, 10,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(ARM::VSUBfd),
                      MVT::f64, 4, 6, 11, 12, 13,
      OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      2|128,1, 2, 14, 15,
      OPC_EmitIntegerI32, ARM::ssub_0,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f32, 2, 16, 17,
     0,
    15, MVT::f16,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBH),
                     MVT::f16, 4, 0, 1, 2, 3,
    0,
   108|128,8,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 39|128,1, TARGET_VAL(ISD::VSELECT),
     OPC_RecordChild0,
     OPC_Scope, 83,
      OPC_CheckChild0Type, MVT::v4i1,
      OPC_Scope, 41,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 0,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_f32),
                       4|128,1, 6, 0, 2, 3, 1, 4, 0,
      36,
       OPC_RecordChild1,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 0,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, 4|128,1,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBf32),
                       4|128,1, 6, 0, 2, 3, 1, 4, 0,
      0,
     79,
      OPC_CheckChild0Type, MVT::v8i1,
      OPC_Scope, 39,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveSibling2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 0,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8f16,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_f16),
                       MVT::v8f16, 6, 0, 2, 3, 1, 4, 0,
      34,
       OPC_RecordChild1,
       OPC_MoveChild2,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 0,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8f16,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBf16),
                       MVT::v8f16, 6, 0, 2, 3, 1, 4, 0,
      0,
     0,
    94|128,2, TARGET_VAL(ISD::STRICT_FMUL),
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_Scope, 67,
      OPC_RecordChild1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 2|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckPredicate1,
      OPC_SwitchType , 20, 2|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_1,
       OPC_EmitConvertToTarget4,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSslfd),
                       2|128,1, 6, 0, 2, 3, 5, 6, 7,
      20, 4|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_1,
       OPC_EmitConvertToTarget4,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSslfq),
                       4|128,1, 6, 0, 2, 3, 5, 6, 7,
      0,
     67,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 2|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckPredicate1,
      OPC_SwitchType , 20, 2|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_1,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSslfd),
                       2|128,1, 6, 0, 4, 2, 5, 6, 7,
      20, 4|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitMergeInputChains1_1,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSslfq),
                       4|128,1, 6, 0, 4, 2, 5, 6, 7,
      0,
     57,
      OPC_RecordChild1,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckPredicate1,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitConvertToTarget4,
      OPC_EmitNodeXForm, 7, 5,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      2|128,1, 2, 3, 6,
      OPC_EmitConvertToTarget4,
      OPC_EmitNodeXForm, 8, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSslfq),
                      4|128,1, 6, 0, 2, 7, 9, 10, 11,
     57,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckPredicate1,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitMergeInputChains1_1,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 7, 5,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      2|128,1, 2, 2, 6,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 8, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSslfq),
                      4|128,1, 6, 0, 4, 7, 9, 10, 11,
     93,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckPredicate1,
      OPC_SwitchType , 40, 2|128,1,
       OPC_Scope, 18,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitMergeInputChains1_1,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSfd),
                        2|128,1, 5, 0, 2, 3, 4, 5,
       18,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitMergeInputChains1_1,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSfd),
                        2|128,1, 5, 0, 2, 3, 4, 5,
       0,
      40, 4|128,1,
       OPC_Scope, 18,
        OPC_CheckPatternPredicate, 10,
        OPC_EmitMergeInputChains1_1,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMLSfq),
                        4|128,1, 5, 0, 2, 3, 4, 5,
       18,
        OPC_CheckPatternPredicate, 33,
        OPC_EmitMergeInputChains1_1,
        OPC_EmitIntegerI32, 14,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSfq),
                        4|128,1, 5, 0, 2, 3, 4, 5,
       0,
      0,
     0,
    28|128,4, TARGET_VAL(ISD::FMUL),
     OPC_Scope, 65,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 2|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckPredicate1,
      OPC_SwitchType , 19, 2|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSslfd),
                       2|128,1, 6, 0, 1, 2, 4, 5, 6,
      19, 4|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSslfq),
                       4|128,1, 6, 0, 1, 2, 4, 5, 6,
      0,
     65,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 2|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckPredicate1,
      OPC_SwitchType , 19, 2|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitConvertToTarget2,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSslfd),
                       2|128,1, 6, 0, 3, 1, 4, 5, 6,
      19, 4|128,1,
       OPC_CheckPatternPredicate, 10,
       OPC_EmitConvertToTarget2,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSslfq),
                       4|128,1, 6, 0, 3, 1, 4, 5, 6,
      0,
     56,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckPredicate1,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 7, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      2|128,1, 2, 2, 5,
      OPC_EmitConvertToTarget3,
      OPC_EmitNodeXForm, 8, 7,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSslfq),
                      4|128,1, 6, 0, 1, 6, 8, 9, 10,
     56,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
      OPC_RecordChild0,
      OPC_CheckChild0Type, 4|128,1,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckPredicate0,
      OPC_MoveParent,
      OPC_CheckPredicate1,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate, 10,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 7, 4,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      2|128,1, 2, 1, 5,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 8, 7,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSslfq),
                      4|128,1, 6, 0, 3, 6, 8, 9, 10,
     58,
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4f16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 18, MVT::v4f16,
       OPC_CheckPatternPredicate, 23,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSslhd),
                       MVT::v4f16, 6, 0, 1, 2, 4, 5, 6,
      18, MVT::v8f16,
       OPC_CheckPatternPredicate, 23,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSslhq),
                       MVT::v8f16, 6, 0, 1, 2, 4, 5, 6,
      0,
     58,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4f16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_SwitchType , 18, MVT::v4f16,
       OPC_CheckPatternPredicate, 23,
       OPC_EmitConvertToTarget2,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSslhd),
                       MVT::v4f16, 6, 0, 3, 1, 4, 5, 6,
      18, MVT::v8f16,
       OPC_CheckPatternPredicate, 23,
       OPC_EmitConvertToTarget2,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSslhq),
                       MVT::v8f16, 6, 0, 3, 1, 4, 5, 6,
      0,
     44|128,1,
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_Scope, 87,
       OPC_CheckPredicate0,
       OPC_MoveParent,
       OPC_CheckPredicate1,
       OPC_SwitchType , 38, 2|128,1,
        OPC_Scope, 17,
         OPC_CheckPatternPredicate, 10,
         OPC_EmitIntegerI32, 14,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSfd),
                         2|128,1, 5, 0, 1, 2, 3, 4,
        17,
         OPC_CheckPatternPredicate, 33,
         OPC_EmitIntegerI32, 14,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMSfd),
                         2|128,1, 5, 0, 1, 2, 3, 4,
        0,
       38, 4|128,1,
        OPC_Scope, 17,
         OPC_CheckPatternPredicate, 10,
         OPC_EmitIntegerI32, 14,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLSfq),
                         4|128,1, 5, 0, 1, 2, 3, 4,
        17,
         OPC_CheckPatternPredicate, 33,
         OPC_EmitIntegerI32, 14,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMSfq),
                         4|128,1, 5, 0, 1, 2, 3, 4,
        0,
       0,
      79,
       OPC_MoveParent,
       OPC_SwitchType , 36, MVT::v4f16,
        OPC_Scope, 16,
         OPC_CheckPatternPredicate, 23,
         OPC_EmitIntegerI32, 14,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLShd),
                         MVT::v4f16, 5, 0, 1, 2, 3, 4,
        16,
         OPC_CheckPatternPredicate, 62,
         OPC_EmitIntegerI32, 14,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMShd),
                         MVT::v4f16, 5, 0, 1, 2, 3, 4,
        0,
       36, MVT::v8f16,
        OPC_Scope, 16,
         OPC_CheckPatternPredicate, 23,
         OPC_EmitIntegerI32, 14,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMLShq),
                         MVT::v8f16, 5, 0, 1, 2, 3, 4,
        16,
         OPC_CheckPatternPredicate, 62,
         OPC_EmitIntegerI32, 14,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMShq),
                         MVT::v8f16, 5, 0, 1, 2, 3, 4,
        0,
       0,
      0,
     0,
    57, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_SwitchType , 24, 4|128,1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_f32),
                      4|128,1, 6, 0, 1, 2, 3, 4, 5,
     23, MVT::v8f16,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_f16),
                      MVT::v8f16, 6, 0, 1, 2, 3, 4, 5,
     0,
    0,
   0|128,1,
    OPC_RecordChild1,
    OPC_SwitchType , 15, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBfd),
                     2|128,1, 4, 0, 1, 2, 3,
    43, 4|128,1,
     OPC_Scope, 15,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBfq),
                      4|128,1, 4, 0, 1, 2, 3,
     24,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBf32),
                      4|128,1, 6, 0, 1, 2, 3, 4, 5,
     0,
    15, MVT::v4f16,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBhd),
                     MVT::v4f16, 4, 0, 1, 2, 3,
    42, MVT::v8f16,
     OPC_Scope, 15,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBhq),
                      MVT::v8f16, 4, 0, 1, 2, 3,
     23,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBf16),
                      MVT::v8f16, 6, 0, 1, 2, 3, 4, 5,
     0,
    0,
   0,
  0,
 58|128,1, TARGET_VAL(ISD::STRICT_FP_EXTEND),
  OPC_RecordNode,
  OPC_Scope, 101,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 41,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 34,
    OPC_MoveParent,
    OPC_CheckType, MVT::f16,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 19, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 1, 4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VCVTTHS),
                    MVT::f32, 3, 5, 6, 7,
   51,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 34,
    OPC_MoveParent,
    OPC_CheckType, MVT::f16,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    2|128,1, 2, 1, 3,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 19, 5,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 4, 6,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VCVTTHS),
                    MVT::f32, 3, 7, 8, 9,
   0,
  80,
   OPC_RecordChild1,
   OPC_Scope, 19,
    OPC_CheckChild1Type, MVT::f32,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VCVTDS),
                    MVT::f64, 3, 1, 2, 3,
   56,
    OPC_CheckChild1Type, MVT::f16,
    OPC_SwitchType , 24, MVT::f32,
     OPC_CheckPatternPredicate, 36,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, ARM::SPRRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f32, 2, 1, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VCVTBHS),
                     MVT::f32, 3, 3, 4, 5,
    24, MVT::f64,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, ARM::SPRRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f32, 2, 1, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VCVTBHD),
                     MVT::f64, 3, 3, 4, 5,
    0,
   0,
  0,
 71|128,1, TARGET_VAL(ISD::FP_EXTEND),
  OPC_Scope, 99,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_Scope, 40,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 34,
    OPC_MoveParent,
    OPC_CheckType, MVT::f16,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 19, 2,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 0, 3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTTHS),
                    MVT::f32, 3, 4, 5, 6,
   50,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 34,
    OPC_MoveParent,
    OPC_CheckType, MVT::f16,
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    2|128,1, 2, 0, 2,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 19, 4,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::f32, 2, 3, 5,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTTHS),
                    MVT::f32, 3, 6, 7, 8,
   0,
  96,
   OPC_RecordChild0,
   OPC_Scope, 18,
    OPC_CheckChild0Type, MVT::f32,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTDS),
                    MVT::f64, 3, 0, 1, 2,
   54,
    OPC_CheckChild0Type, MVT::f16,
    OPC_SwitchType , 23, MVT::f32,
     OPC_CheckPatternPredicate, 36,
     OPC_EmitIntegerI32, ARM::SPRRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f32, 2, 0, 1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTBHS),
                     MVT::f32, 3, 2, 3, 4,
    23, MVT::f64,
     OPC_CheckPatternPredicate, 15,
     OPC_EmitIntegerI32, ARM::SPRRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f32, 2, 0, 1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTBHD),
                     MVT::f64, 3, 2, 3, 4,
    0,
   18,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_CheckType, 4|128,1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTh2f),
                    4|128,1, 3, 0, 1, 2,
   0,
  0,
 33|128,3, TARGET_VAL(ISD::STRICT_FMA),
  OPC_RecordNode,
  OPC_Scope, 72,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_MoveChild3,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 17, MVT::f64,
    OPC_CheckPatternPredicate, 39,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMAD),
                    MVT::f64, 5, 3, 1, 2, 4, 5,
   17, MVT::f32,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMAS),
                    MVT::f32, 5, 3, 1, 2, 4, 5,
   17, MVT::f16,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMAH),
                    MVT::f16, 5, 3, 1, 2, 4, 5,
   0,
  71,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveSibling3,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 17, MVT::f64,
    OPC_CheckPatternPredicate, 39,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMAD),
                    MVT::f64, 5, 3, 2, 1, 4, 5,
   17, MVT::f32,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMAS),
                    MVT::f32, 5, 3, 2, 1, 4, 5,
   17, MVT::f16,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMAH),
                    MVT::f16, 5, 3, 2, 1, 4, 5,
   0,
  67,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_SwitchType , 17, MVT::f64,
    OPC_CheckPatternPredicate, 39,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSD),
                    MVT::f64, 5, 3, 1, 2, 4, 5,
   17, MVT::f32,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSS),
                    MVT::f32, 5, 3, 1, 2, 4, 5,
   17, MVT::f16,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSH),
                    MVT::f16, 5, 3, 1, 2, 4, 5,
   0,
  71|128,1,
   OPC_RecordChild1,
   OPC_Scope, 66,
    OPC_RecordChild2,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 17, MVT::f64,
     OPC_CheckPatternPredicate, 39,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMSD),
                     MVT::f64, 5, 3, 1, 2, 4, 5,
    17, MVT::f32,
     OPC_CheckPatternPredicate, 40,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMSS),
                     MVT::f32, 5, 3, 1, 2, 4, 5,
    17, MVT::f16,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMSH),
                     MVT::f16, 5, 3, 1, 2, 4, 5,
    0,
   66,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_SwitchType , 17, MVT::f64,
     OPC_CheckPatternPredicate, 39,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSD),
                     MVT::f64, 5, 3, 2, 1, 4, 5,
    17, MVT::f32,
     OPC_CheckPatternPredicate, 40,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSS),
                     MVT::f32, 5, 3, 2, 1, 4, 5,
    17, MVT::f16,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMSH),
                     MVT::f16, 5, 3, 2, 1, 4, 5,
    0,
   61,
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_SwitchType , 17, MVT::f64,
     OPC_CheckPatternPredicate, 39,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAD),
                     MVT::f64, 5, 3, 1, 2, 4, 5,
    17, MVT::f32,
     OPC_CheckPatternPredicate, 40,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAS),
                     MVT::f32, 5, 3, 1, 2, 4, 5,
    17, MVT::f16,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFMAH),
                     MVT::f16, 5, 3, 1, 2, 4, 5,
    0,
   0,
  0,
 125|128,6, TARGET_VAL(ISD::FMA),
  OPC_Scope, 69,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 16, MVT::f64,
    OPC_CheckPatternPredicate, 39,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFNMAD),
                    MVT::f64, 5, 2, 0, 1, 3, 4,
   16, MVT::f32,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFNMAS),
                    MVT::f32, 5, 2, 0, 1, 3, 4,
   16, MVT::f16,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFNMAH),
                    MVT::f16, 5, 2, 0, 1, 3, 4,
   0,
  68,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 16, MVT::f64,
    OPC_CheckPatternPredicate, 39,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFNMAD),
                    MVT::f64, 5, 2, 1, 0, 3, 4,
   16, MVT::f32,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFNMAS),
                    MVT::f32, 5, 2, 1, 0, 3, 4,
   16, MVT::f16,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFNMAH),
                    MVT::f16, 5, 2, 1, 0, 3, 4,
   0,
  64,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 16, MVT::f64,
    OPC_CheckPatternPredicate, 39,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMSD),
                    MVT::f64, 5, 2, 0, 1, 3, 4,
   16, MVT::f32,
    OPC_CheckPatternPredicate, 40,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMSS),
                    MVT::f32, 5, 2, 0, 1, 3, 4,
   16, MVT::f16,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMSH),
                    MVT::f16, 5, 2, 0, 1, 3, 4,
   0,
  62|128,1,
   OPC_RecordChild0,
   OPC_Scope, 63,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 16, MVT::f64,
     OPC_CheckPatternPredicate, 39,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFNMSD),
                     MVT::f64, 5, 2, 0, 1, 3, 4,
    16, MVT::f32,
     OPC_CheckPatternPredicate, 40,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFNMSS),
                     MVT::f32, 5, 2, 0, 1, 3, 4,
    16, MVT::f16,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFNMSH),
                     MVT::f16, 5, 2, 0, 1, 3, 4,
    0,
   63,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_SwitchType , 16, MVT::f64,
     OPC_CheckPatternPredicate, 39,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMSD),
                     MVT::f64, 5, 2, 1, 0, 3, 4,
    16, MVT::f32,
     OPC_CheckPatternPredicate, 40,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMSS),
                     MVT::f32, 5, 2, 1, 0, 3, 4,
    16, MVT::f16,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMSH),
                     MVT::f16, 5, 2, 1, 0, 3, 4,
    0,
   58,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 16, MVT::f64,
     OPC_CheckPatternPredicate, 39,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMAD),
                     MVT::f64, 5, 2, 0, 1, 3, 4,
    16, MVT::f32,
     OPC_CheckPatternPredicate, 40,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMAS),
                     MVT::f32, 5, 2, 0, 1, 3, 4,
    16, MVT::f16,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMAH),
                     MVT::f16, 5, 2, 0, 1, 3, 4,
    0,
   0,
  93,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_SwitchType , 17, 2|128,1,
    OPC_CheckPatternPredicate, 63,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMSfd),
                    2|128,1, 5, 2, 0, 1, 3, 4,
   40, 4|128,1,
    OPC_Scope, 17,
     OPC_CheckPatternPredicate, 63,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMSfq),
                     4|128,1, 5, 2, 0, 1, 3, 4,
    19,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMSf32),
                     4|128,1, 6, 2, 0, 1, 3, 4, 5,
    0,
   18, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMSf16),
                    MVT::v8f16, 6, 2, 0, 1, 3, 4, 5,
   0,
  29,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckType, MVT::v8f16,
   OPC_CheckPatternPredicate2,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMA_qr_f16),
                   MVT::v8f16, 6, 2, 0, 1, 3, 4, 5,
  29,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::v8f16,
   OPC_CheckPatternPredicate2,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMA_qr_f16),
                   MVT::v8f16, 6, 2, 1, 0, 3, 4, 5,
  31,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckType, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMA_qr_f32),
                   4|128,1, 6, 2, 0, 1, 3, 4, 5,
  31,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMA_qr_f32),
                   4|128,1, 6, 2, 1, 0, 3, 4, 5,
  19|128,2,
   OPC_RecordChild0,
   OPC_Scope, 52,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_SwitchType , 18, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMA_qr_Sf16),
                     MVT::v8f16, 6, 0, 1, 2, 3, 4, 5,
    19, 4|128,1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMA_qr_Sf32),
                     4|128,1, 6, 0, 1, 2, 3, 4, 5,
    0,
   92,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_SwitchType , 17, 2|128,1,
     OPC_CheckPatternPredicate, 63,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMSfd),
                     2|128,1, 5, 2, 1, 0, 3, 4,
    40, 4|128,1,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 63,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMSfq),
                      4|128,1, 5, 2, 1, 0, 3, 4,
     19,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMSf32),
                      4|128,1, 6, 2, 1, 0, 3, 4, 5,
     0,
    18, MVT::v8f16,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMSf16),
                     MVT::v8f16, 6, 2, 1, 0, 3, 4, 5,
    0,
   125,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 16, MVT::v4f16,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMAhd),
                     MVT::v4f16, 5, 2, 0, 1, 3, 4,
    38, MVT::v8f16,
     OPC_Scope, 16,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMAhq),
                      MVT::v8f16, 5, 2, 0, 1, 3, 4,
     18,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMAf16),
                      MVT::v8f16, 6, 2, 0, 1, 3, 4, 5,
     0,
    17, 2|128,1,
     OPC_CheckPatternPredicate, 63,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMAfd),
                     2|128,1, 5, 2, 0, 1, 3, 4,
    40, 4|128,1,
     OPC_Scope, 17,
      OPC_CheckPatternPredicate, 63,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFMAfq),
                      4|128,1, 5, 2, 0, 1, 3, 4,
     19,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMAf32),
                      4|128,1, 6, 2, 0, 1, 3, 4, 5,
     0,
    0,
   0,
  0,
 93|128,6, TARGET_VAL(ISD::FNEG),
  OPC_Scope, 109|128,4,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 80|128,1, TARGET_VAL(ISD::STRICT_FMA),
    OPC_RecordNode,
    OPC_Scope, 68,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_MoveParent,
     OPC_SwitchType , 17, MVT::f64,
      OPC_CheckPatternPredicate, 39,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMSD),
                      MVT::f64, 5, 3, 1, 2, 4, 5,
     17, MVT::f32,
      OPC_CheckPatternPredicate, 40,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMSS),
                      MVT::f32, 5, 3, 1, 2, 4, 5,
     17, MVT::f16,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMSH),
                      MVT::f16, 5, 3, 1, 2, 4, 5,
     0,
    6|128,1,
     OPC_RecordChild1,
     OPC_Scope, 67,
      OPC_MoveChild2,
      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_RecordChild3,
      OPC_MoveParent,
      OPC_SwitchType , 17, MVT::f64,
       OPC_CheckPatternPredicate, 39,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMSD),
                       MVT::f64, 5, 3, 2, 1, 4, 5,
      17, MVT::f32,
       OPC_CheckPatternPredicate, 40,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMSS),
                       MVT::f32, 5, 3, 2, 1, 4, 5,
      17, MVT::f16,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMSH),
                       MVT::f16, 5, 3, 2, 1, 4, 5,
      0,
     62,
      OPC_RecordChild2,
      OPC_RecordChild3,
      OPC_MoveParent,
      OPC_SwitchType , 17, MVT::f64,
       OPC_CheckPatternPredicate, 39,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMAD),
                       MVT::f64, 5, 3, 1, 2, 4, 5,
      17, MVT::f32,
       OPC_CheckPatternPredicate, 40,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMAS),
                       MVT::f32, 5, 3, 1, 2, 4, 5,
      17, MVT::f16,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFNMAH),
                       MVT::f16, 5, 3, 1, 2, 4, 5,
      0,
     0,
    0,
   70|128,1, TARGET_VAL(ISD::FMA),
    OPC_Scope, 65,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_MoveParent,
     OPC_SwitchType , 16, MVT::f64,
      OPC_CheckPatternPredicate, 39,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFNMSD),
                      MVT::f64, 5, 2, 0, 1, 3, 4,
     16, MVT::f32,
      OPC_CheckPatternPredicate, 40,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFNMSS),
                      MVT::f32, 5, 2, 0, 1, 3, 4,
     16, MVT::f16,
      OPC_CheckPatternPredicate, 11,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFNMSH),
                      MVT::f16, 5, 2, 0, 1, 3, 4,
     0,
    0|128,1,
     OPC_RecordChild0,
     OPC_Scope, 64,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
      OPC_RecordChild0,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_SwitchType , 16, MVT::f64,
       OPC_CheckPatternPredicate, 39,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFNMSD),
                       MVT::f64, 5, 2, 1, 0, 3, 4,
      16, MVT::f32,
       OPC_CheckPatternPredicate, 40,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFNMSS),
                       MVT::f32, 5, 2, 1, 0, 3, 4,
      16, MVT::f16,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFNMSH),
                       MVT::f16, 5, 2, 1, 0, 3, 4,
      0,
     59,
      OPC_RecordChild1,
      OPC_RecordChild2,
      OPC_MoveParent,
      OPC_SwitchType , 16, MVT::f64,
       OPC_CheckPatternPredicate, 39,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFNMAD),
                       MVT::f64, 5, 2, 0, 1, 3, 4,
      16, MVT::f32,
       OPC_CheckPatternPredicate, 40,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFNMAS),
                       MVT::f32, 5, 2, 0, 1, 3, 4,
      16, MVT::f16,
       OPC_CheckPatternPredicate, 11,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFNMAH),
                       MVT::f16, 5, 2, 0, 1, 3, 4,
      0,
     0,
    0,
   60, TARGET_VAL(ISD::STRICT_FMUL),
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveParent,
    OPC_SwitchType , 16, MVT::f64,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMULD),
                     MVT::f64, 4, 1, 2, 3, 4,
    16, MVT::f32,
     OPC_CheckPatternPredicate, 34,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMULS),
                     MVT::f32, 4, 1, 2, 3, 4,
    16, MVT::f16,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VNMULH),
                     MVT::f16, 4, 1, 2, 3, 4,
    0,
   56, TARGET_VAL(ISD::FMUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_SwitchType , 15, MVT::f64,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNMULD),
                     MVT::f64, 4, 0, 1, 2, 3,
    15, MVT::f32,
     OPC_CheckPatternPredicate, 34,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNMULS),
                     MVT::f32, 4, 0, 1, 2, 3,
    15, MVT::f16,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNMULH),
                     MVT::f16, 4, 0, 1, 2, 3,
    0,
   79, TARGET_VAL(ARMISD::VMOVDRR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_Scope, 36,
     OPC_CheckPatternPredicate3,
     OPC_EmitIntegerI32, 0|128,0|128,0|128,0|128,120,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::EORri),
                     MVT::i32, 5, 1, 2, 3, 4, 5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVDRR),
                     MVT::f64, 4, 0, 6, 7, 8,
    36,
     OPC_CheckPatternPredicate4,
     OPC_EmitIntegerI32, 0|128,0|128,0|128,0|128,120,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::t2EORri),
                     MVT::i32, 5, 1, 2, 3, 4, 5,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVDRR),
                     MVT::f64, 4, 0, 6, 7, 8,
    0,
   0,
  106|128,1,
   OPC_RecordChild0,
   OPC_SwitchType , 14, MVT::f64,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNEGD),
                    MVT::f64, 3, 0, 1, 2,
   78, MVT::f32,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNEGS),
                     MVT::f32, 3, 0, 1, 2,
    60,
     OPC_CheckPatternPredicate, 53,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     2|128,1, 0,
     OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     2|128,1, 2, 1, 2,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     2|128,1, 3, 3, 0, 4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VNEGfd),
                     MVT::f64, 3, 5, 6, 7,
     OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     2|128,1, 2, 8, 9,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f32, 2, 10, 11,
    0,
   14, MVT::f16,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNEGH),
                    MVT::f16, 3, 0, 1, 2,
   14, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNEGfd),
                    2|128,1, 3, 0, 1, 2,
   41, 4|128,1,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNEGf32q),
                     4|128,1, 3, 0, 1, 2,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VNEGf32),
                     4|128,1, 5, 0, 1, 2, 3, 4,
    0,
   14, MVT::v4f16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNEGhd),
                    MVT::v4f16, 3, 0, 1, 2,
   40, MVT::v8f16,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNEGhq),
                     MVT::v8f16, 3, 0, 1, 2,
    22,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VNEGf16),
                     MVT::v8f16, 5, 0, 1, 2, 3, 4,
    0,
   0,
  0,
 62|128,12, TARGET_VAL(ISD::FMUL),
  OPC_Scope, 43,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 15, MVT::f64,
    OPC_CheckPatternPredicate, 108,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNMULD),
                    MVT::f64, 4, 0, 1, 2, 3,
   15, MVT::f32,
    OPC_CheckPatternPredicate, 109,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNMULS),
                    MVT::f32, 4, 0, 1, 2, 3,
   0,
  114|128,1,
   OPC_RecordChild0,
   OPC_Scope, 42,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_SwitchType , 15, MVT::f64,
     OPC_CheckPatternPredicate, 108,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNMULD),
                     MVT::f64, 4, 1, 0, 2, 3,
    15, MVT::f32,
     OPC_CheckPatternPredicate, 109,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VNMULS),
                     MVT::f32, 4, 1, 0, 2, 3,
    0,
   18|128,1,
    OPC_RecordChild1,
    OPC_SwitchType , 15, MVT::f64,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULD),
                     MVT::f64, 4, 0, 1, 2, 3,
    107, MVT::f32,
     OPC_Scope, 15,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULS),
                      MVT::f32, 4, 0, 1, 2, 3,
     88,
      OPC_CheckPatternPredicate, 53,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      2|128,1, 0,
      OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      2|128,1, 2, 2, 3,
      OPC_EmitIntegerI32, ARM::ssub_0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      2|128,1, 3, 4, 0, 5,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      2|128,1, 0,
      OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      2|128,1, 2, 7, 8,
      OPC_EmitIntegerI32, ARM::ssub_0,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      2|128,1, 3, 9, 1, 10,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(ARM::VMULfd),
                      MVT::f64, 4, 6, 11, 12, 13,
      OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      2|128,1, 2, 14, 15,
      OPC_EmitIntegerI32, ARM::ssub_0,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::f32, 2, 16, 17,
     0,
    15, MVT::f16,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULH),
                     MVT::f16, 4, 0, 1, 2, 3,
    0,
   47,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v8i1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 60|128,20,
    OPC_CheckType, MVT::v8i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_f16),
                    MVT::v8f16, 6, 0, 2, 3, 1, 4, 0,
   0,
  48,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v8i1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveSibling2,
   OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 60|128,20,
   OPC_CheckType, MVT::v8i16,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v8f16,
   OPC_CheckPatternPredicate2,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_f16),
                   MVT::v8f16, 6, 2, 1, 3, 0, 4, 2,
  84,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
   OPC_RecordChild0,
   OPC_Scope, 37,
    OPC_CheckChild0Type, MVT::v8i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 60|128,20,
    OPC_CheckType, MVT::v8i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULf16),
                    MVT::v8f16, 6, 0, 2, 3, 1, 4, 0,
   37,
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVFPIMM),
    OPC_CheckChild0Integer, 112|128,0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_f32),
                    4|128,1, 6, 0, 2, 3, 1, 4, 0,
   0,
  85,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
   OPC_RecordChild0,
   OPC_Scope, 38,
    OPC_CheckChild0Type, MVT::v8i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 60|128,20,
    OPC_CheckType, MVT::v8i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULf16),
                    MVT::v8f16, 6, 2, 1, 3, 0, 4, 2,
   38,
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVFPIMM),
    OPC_CheckChild0Integer, 112|128,0,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_f32),
                    4|128,1, 6, 2, 1, 3, 0, 4, 2,
   0,
  38,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v4i1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVFPIMM),
   OPC_CheckChild0Integer, 112|128,0,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULf32),
                   4|128,1, 6, 0, 2, 3, 1, 4, 0,
  38,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::v4i1,
   OPC_RecordChild1,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVFPIMM),
   OPC_CheckChild0Integer, 112|128,0,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, 4|128,1,
   OPC_CheckPatternPredicate2,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULf32),
                   4|128,1, 6, 2, 1, 3, 0, 4, 2,
  111,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
   OPC_RecordChild0,
   OPC_Scope, 52,
    OPC_CheckChild0Type, 2|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 17, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslfd),
                     2|128,1, 5, 0, 1, 3, 4, 5,
    17, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslfq),
                     4|128,1, 5, 0, 1, 3, 4, 5,
    0,
   49,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 17, MVT::v4f16,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslhd),
                     MVT::v4f16, 5, 0, 1, 3, 4, 5,
    17, MVT::v8f16,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslhq),
                     MVT::v8f16, 5, 0, 1, 3, 4, 5,
    0,
   0,
  112,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
   OPC_RecordChild0,
   OPC_Scope, 53,
    OPC_CheckChild0Type, 2|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 17, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslfd),
                     2|128,1, 5, 2, 0, 3, 4, 5,
    17, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslfq),
                     4|128,1, 5, 2, 0, 3, 4, 5,
    0,
   50,
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 17, MVT::v4f16,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslhd),
                     MVT::v4f16, 5, 2, 0, 3, 4, 5,
    17, MVT::v8f16,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslhq),
                     MVT::v8f16, 5, 2, 0, 3, 4, 5,
    0,
   0,
  96,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
   OPC_RecordChild0,
   OPC_Scope, 45,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 7, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    2|128,1, 2, 1, 4,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 8, 6,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslfq),
                    4|128,1, 5, 0, 5, 7, 8, 9,
   41,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 5, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4f16, 2, 1, 4,
    OPC_EmitConvertToTarget2,
    OPC_EmitNodeXForm, 6, 6,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslhq),
                    MVT::v8f16, 5, 0, 5, 7, 8, 9,
   0,
  97,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
   OPC_RecordChild0,
   OPC_Scope, 46,
    OPC_CheckChild0Type, 4|128,1,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 7, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    2|128,1, 2, 0, 4,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 8, 6,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslfq),
                    4|128,1, 5, 2, 5, 7, 8, 9,
   42,
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 5, 3,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                    MVT::v4f16, 2, 0, 4,
    OPC_EmitConvertToTarget1,
    OPC_EmitNodeXForm, 6, 6,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslhq),
                    MVT::v8f16, 5, 2, 5, 7, 8, 9,
   0,
  62,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_SwitchType , 23, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_f16),
                    MVT::v8f16, 6, 0, 1, 2, 3, 4, 5,
   24, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_f32),
                    4|128,1, 6, 0, 1, 2, 3, 4, 5,
   0,
  62,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_f16),
                    MVT::v8f16, 6, 1, 0, 2, 3, 4, 5,
   24, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_f32),
                    4|128,1, 6, 1, 0, 2, 3, 4, 5,
   0,
  36|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_Scope, 81,
    OPC_CheckChild0Type, MVT::f32,
    OPC_MoveParent,
    OPC_SwitchType , 35, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     2|128,1, 0,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     2|128,1, 3, 2, 1, 3,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslfd),
                     2|128,1, 5, 0, 4, 5, 6, 7,
    35, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     2|128,1, 0,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     2|128,1, 3, 2, 1, 3,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslfq),
                     4|128,1, 5, 0, 4, 5, 6, 7,
    0,
   73,
    OPC_CheckChild0Type, MVT::f16,
    OPC_MoveParent,
    OPC_SwitchType , 32, MVT::v4f16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4f16, 0,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4f16, 3, 2, 1, 3,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslhd),
                     MVT::v4f16, 5, 0, 4, 5, 6, 7,
    32, MVT::v8f16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4f16, 0,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4f16, 3, 2, 1, 3,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslhq),
                     MVT::v8f16, 5, 0, 4, 5, 6, 7,
    0,
   0,
  37|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_Scope, 82,
    OPC_CheckChild0Type, MVT::f32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 35, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     2|128,1, 0,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     2|128,1, 3, 2, 0, 3,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslfd),
                     2|128,1, 5, 1, 4, 5, 6, 7,
    35, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     2|128,1, 0,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     2|128,1, 3, 2, 0, 3,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslfq),
                     4|128,1, 5, 1, 4, 5, 6, 7,
    0,
   74,
    OPC_CheckChild0Type, MVT::f16,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 32, MVT::v4f16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4f16, 0,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4f16, 3, 2, 0, 3,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslhd),
                     MVT::v4f16, 5, 1, 4, 5, 6, 7,
    32, MVT::v8f16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4f16, 0,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4f16, 3, 2, 0, 3,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULslhq),
                     MVT::v8f16, 5, 1, 4, 5, 6, 7,
    0,
   0,
  1|128,1,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 15, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULfd),
                    2|128,1, 4, 0, 1, 2, 3,
   43, 4|128,1,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULfq),
                     4|128,1, 4, 0, 1, 2, 3,
    24,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULf32),
                     4|128,1, 6, 0, 1, 2, 3, 4, 5,
    0,
   15, MVT::v4f16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULhd),
                    MVT::v4f16, 4, 0, 1, 2, 3,
   42, MVT::v8f16,
    OPC_Scope, 15,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULhq),
                     MVT::v8f16, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULf16),
                     MVT::v8f16, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  0,
 127|128,2, TARGET_VAL(ISD::FABS),
  OPC_Scope, 79,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVDRR),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_Scope, 34,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitIntegerI32, 127|128,127|128,127|128,127|128,7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::BFC),
                    MVT::i32, 4, 1, 2, 3, 4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVDRR),
                    MVT::f64, 4, 0, 5, 6, 7,
   34,
    OPC_CheckPatternPredicate, 82,
    OPC_EmitIntegerI32, 127|128,127|128,127|128,127|128,7,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::t2BFC),
                    MVT::i32, 4, 1, 2, 3, 4,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVDRR),
                    MVT::f64, 4, 0, 5, 6, 7,
   0,
  115,
   OPC_RecordChild0,
   OPC_SwitchType , 14, MVT::f64,
    OPC_CheckPatternPredicate, 17,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABSD),
                    MVT::f64, 3, 0, 1, 2,
   78, MVT::f32,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABSS),
                     MVT::f32, 3, 0, 1, 2,
    60,
     OPC_CheckPatternPredicate, 53,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     2|128,1, 0,
     OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     2|128,1, 2, 1, 2,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     2|128,1, 3, 3, 0, 4,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VABSfd),
                     MVT::f64, 3, 5, 6, 7,
     OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     2|128,1, 2, 8, 9,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f32, 2, 10, 11,
    0,
   14, MVT::f16,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABSH),
                    MVT::f16, 3, 0, 1, 2,
   0,
  61,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FSUB),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_SwitchType , 23, MVT::v8f16,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDf16),
                    MVT::v8f16, 6, 0, 1, 2, 3, 4, 5,
   24, 4|128,1,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDf32),
                    4|128,1, 6, 0, 1, 2, 3, 4, 5,
   0,
  122,
   OPC_RecordChild0,
   OPC_SwitchType , 14, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABSfd),
                    2|128,1, 3, 0, 1, 2,
   41, 4|128,1,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABSfq),
                     4|128,1, 3, 0, 1, 2,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABSf32),
                     4|128,1, 5, 0, 1, 2, 3, 4,
    0,
   14, MVT::v4f16,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABShd),
                    MVT::v4f16, 3, 0, 1, 2,
   40, MVT::v8f16,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABShq),
                     MVT::v8f16, 3, 0, 1, 2,
    22,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABSf16),
                     MVT::v8f16, 5, 0, 1, 2, 3, 4,
    0,
   0,
  0,
 101, TARGET_VAL(ISD::ConstantFP),
  OPC_RecordNode,
  OPC_SwitchType , 20, MVT::f64,
   OPC_CheckPredicate, 112,
   OPC_CheckPatternPredicate, 150,
   OPC_EmitConvertToTarget0,
   OPC_EmitNodeXForm, 24, 1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::FCONSTD),
                   MVT::f64, 3, 2, 3, 4,
  52, MVT::f32,
   OPC_Scope, 20,
    OPC_CheckPredicate, 113,
    OPC_CheckPatternPredicate, 151,
    OPC_EmitConvertToTarget0,
    OPC_EmitNodeXForm, 25, 1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::FCONSTS),
                    MVT::f32, 3, 2, 3, 4,
   28,
    OPC_CheckPredicate, 114,
    OPC_CheckPatternPredicate, 11,
    OPC_EmitNodeXForm, 26, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::FCONSTH),
                    MVT::f16, 3, 1, 2, 3,
    OPC_EmitIntegerI32, ARM::SPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f32, 2, 4, 5,
   0,
  20, MVT::f16,
   OPC_CheckPredicate, 115,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitConvertToTarget0,
   OPC_EmitNodeXForm, 27, 1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::FCONSTH),
                   MVT::f16, 3, 2, 3, 4,
  0,
 118|128,9, TARGET_VAL(ARMISD::VECTOR_REG_CAST),
  OPC_RecordChild0,
  OPC_Scope, 53,
   OPC_CheckChild0Type, MVT::v8i8,
   OPC_SwitchType , 4, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v4f16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v4bf16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   0,
  53,
   OPC_CheckChild0Type, MVT::v4i16,
   OPC_SwitchType , 4, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v4f16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v4bf16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   0,
  53,
   OPC_CheckChild0Type, MVT::v4f16,
   OPC_SwitchType , 4, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v4f16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v4bf16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   0,
  53,
   OPC_CheckChild0Type, MVT::v4bf16,
   OPC_SwitchType , 4, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v4f16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v4bf16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   0,
  53,
   OPC_CheckChild0Type, MVT::v2i32,
   OPC_SwitchType , 4, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v4f16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v4bf16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   0,
  54,
   OPC_CheckChild0Type, 2|128,1,
   OPC_SwitchType , 4, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v4f16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v4bf16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   0,
  53,
   OPC_CheckChild0Type, MVT::v1i64,
   OPC_SwitchType , 4, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v4f16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v4bf16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   0,
  53,
   OPC_CheckChild0Type, MVT::f64,
   OPC_SwitchType , 4, MVT::f64,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v4f16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v4bf16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   0,
  110,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_SwitchType , 12, MVT::v16i8,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v8i16,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v4i32,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v2i64,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v8f16,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   4, MVT::v8bf16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   12, 4|128,1,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, 22|128,1,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   0,
  110,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_SwitchType , 12, MVT::v16i8,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v8i16,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v4i32,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v2i64,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v8f16,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   4, MVT::v8bf16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   12, 4|128,1,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, 22|128,1,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   0,
  110,
   OPC_CheckChild0Type, MVT::v8f16,
   OPC_SwitchType , 12, MVT::v16i8,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v8i16,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v4i32,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v2i64,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v8f16,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   4, MVT::v8bf16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   12, 4|128,1,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, 22|128,1,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   0,
  54,
   OPC_CheckChild0Type, MVT::v8bf16,
   OPC_SwitchType , 4, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v8f16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, MVT::v8bf16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   4, 22|128,1,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   0,
  110,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_SwitchType , 12, MVT::v16i8,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v8i16,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v4i32,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v2i64,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v8f16,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   4, MVT::v8bf16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   12, 4|128,1,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, 22|128,1,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   0,
  111,
   OPC_CheckChild0Type, 4|128,1,
   OPC_SwitchType , 12, MVT::v16i8,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v8i16,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v4i32,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v2i64,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v8f16,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   4, MVT::v8bf16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   12, 4|128,1,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, 22|128,1,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   0,
  110,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_SwitchType , 12, MVT::v16i8,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v8i16,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v4i32,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v2i64,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v8f16,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   4, MVT::v8bf16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   12, 4|128,1,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, 22|128,1,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   0,
  111,
   OPC_CheckChild0Type, 22|128,1,
   OPC_SwitchType , 12, MVT::v16i8,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v8i16,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v4i32,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v2i64,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, MVT::v8f16,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   4, MVT::v8bf16,
    OPC_CheckPatternPredicate1,
    OPC_CompleteMatch, 1, 0,

   12, 4|128,1,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   12, 22|128,1,
    OPC_Scope, 4,
     OPC_CheckPatternPredicate1,
     OPC_CompleteMatch, 1, 0,

    4,
     OPC_CheckPatternPredicate0,
     OPC_CompleteMatch, 1, 0,

    0,
   0,
  0,
 59, TARGET_VAL(ISD::STRICT_FDIV),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 16, MVT::f64,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VDIVD),
                   MVT::f64, 4, 1, 2, 3, 4,
  16, MVT::f32,
   OPC_CheckPatternPredicate, 34,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VDIVS),
                   MVT::f32, 4, 1, 2, 3, 4,
  16, MVT::f16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VDIVH),
                   MVT::f16, 4, 1, 2, 3, 4,
  0,
 55, TARGET_VAL(ISD::FDIV),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 15, MVT::f64,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDIVD),
                   MVT::f64, 4, 0, 1, 2, 3,
  15, MVT::f32,
   OPC_CheckPatternPredicate, 34,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDIVS),
                   MVT::f32, 4, 0, 1, 2, 3,
  15, MVT::f16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDIVH),
                   MVT::f16, 4, 0, 1, 2, 3,
  0,
 59, TARGET_VAL(ISD::STRICT_FMUL),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 16, MVT::f64,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMULD),
                   MVT::f64, 4, 1, 2, 3, 4,
  16, MVT::f32,
   OPC_CheckPatternPredicate, 18,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMULS),
                   MVT::f32, 4, 1, 2, 3, 4,
  16, MVT::f16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VMULH),
                   MVT::f16, 4, 1, 2, 3, 4,
  0,
 41, TARGET_VAL(ISD::STRICT_FMAXNUM),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 10, MVT::f16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFP_VMAXNMH),
                   MVT::f16, 2, 1, 2,
  10, MVT::f32,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFP_VMAXNMS),
                   MVT::f32, 2, 1, 2,
  10, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFP_VMAXNMD),
                   MVT::f64, 2, 1, 2,
  0,
 74|128,1, TARGET_VAL(ISD::FMAXNUM),
  OPC_Scope, 37,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 9, MVT::f16,
    OPC_CheckPatternPredicate, 11,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFP_VMAXNMH),
                    MVT::f16, 2, 0, 1,
   9, MVT::f32,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFP_VMAXNMS),
                    MVT::f32, 2, 0, 1,
   9, MVT::f64,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFP_VMAXNMD),
                    MVT::f64, 2, 0, 1,
   0,
  53,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
   OPC_RecordChild0,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 18, 4|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXNMAf32),
                    4|128,1, 5, 0, 1, 2, 3, 4,
   17, MVT::v8f16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXNMAf16),
                    MVT::v8f16, 5, 0, 1, 2, 3, 4,
   0,
  107,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 10, 2|128,1,
    OPC_CheckPatternPredicate, 73,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::NEON_VMAXNMNDf),
                    2|128,1, 2, 0, 1,
   38, 4|128,1,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate, 73,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::NEON_VMAXNMNQf),
                     4|128,1, 2, 0, 1,
    24,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXNMf32),
                     4|128,1, 6, 0, 1, 2, 3, 4, 5,
    0,
   9, MVT::v4f16,
    OPC_CheckPatternPredicate, 74,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::NEON_VMAXNMNDh),
                    MVT::v4f16, 2, 0, 1,
   36, MVT::v8f16,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 74,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::NEON_VMAXNMNQh),
                     MVT::v8f16, 2, 0, 1,
    23,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXNMf16),
                     MVT::v8f16, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  0,
 41, TARGET_VAL(ISD::STRICT_FMINNUM),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 10, MVT::f16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFP_VMINNMH),
                   MVT::f16, 2, 1, 2,
  10, MVT::f32,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFP_VMINNMS),
                   MVT::f32, 2, 1, 2,
  10, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VFP_VMINNMD),
                   MVT::f64, 2, 1, 2,
  0,
 74|128,1, TARGET_VAL(ISD::FMINNUM),
  OPC_Scope, 37,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 9, MVT::f16,
    OPC_CheckPatternPredicate, 11,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFP_VMINNMH),
                    MVT::f16, 2, 0, 1,
   9, MVT::f32,
    OPC_CheckPatternPredicate, 16,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFP_VMINNMS),
                    MVT::f32, 2, 0, 1,
   9, MVT::f64,
    OPC_CheckPatternPredicate, 15,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VFP_VMINNMD),
                    MVT::f64, 2, 0, 1,
   0,
  53,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
   OPC_RecordChild0,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ISD::FABS),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 18, 4|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINNMAf32),
                    4|128,1, 5, 0, 1, 2, 3, 4,
   17, MVT::v8f16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINNMAf16),
                    MVT::v8f16, 5, 0, 1, 2, 3, 4,
   0,
  107,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 10, 2|128,1,
    OPC_CheckPatternPredicate, 73,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::NEON_VMINNMNDf),
                    2|128,1, 2, 0, 1,
   38, 4|128,1,
    OPC_Scope, 10,
     OPC_CheckPatternPredicate, 73,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::NEON_VMINNMNQf),
                     4|128,1, 2, 0, 1,
    24,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINNMf32),
                     4|128,1, 6, 0, 1, 2, 3, 4, 5,
    0,
   9, MVT::v4f16,
    OPC_CheckPatternPredicate, 74,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::NEON_VMINNMNDh),
                    MVT::v4f16, 2, 0, 1,
   36, MVT::v8f16,
    OPC_Scope, 9,
     OPC_CheckPatternPredicate, 74,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::NEON_VMINNMNQh),
                     MVT::v8f16, 2, 0, 1,
    23,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINNMf16),
                     MVT::v8f16, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  0,
 91, TARGET_VAL(ISD::STRICT_FP_ROUND),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 15, MVT::f32,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VCVTSD),
                   MVT::f32, 3, 1, 2, 3,
  68, MVT::f16,
   OPC_Scope, 32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VCVTBSH),
                    MVT::f32, 4, 2, 1, 3, 4,
    OPC_EmitIntegerI32, ARM::HPRRegClassID,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f16, 2, 5, 6,
   32,
    OPC_CheckChild1Type, MVT::f64,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VCVTBDH),
                    MVT::f32, 4, 2, 1, 3, 4,
    OPC_EmitIntegerI32, ARM::HPRRegClassID,
    OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f16, 2, 5, 6,
   0,
  0,
 101, TARGET_VAL(ISD::FP_ROUND),
  OPC_RecordChild0,
  OPC_SwitchType , 14, MVT::f32,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTSD),
                   MVT::f32, 3, 0, 1, 2,
  66, MVT::f16,
   OPC_Scope, 31,
    OPC_CheckChild0Type, MVT::f32,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VCVTBSH),
                    MVT::f32, 4, 1, 0, 2, 3,
    OPC_EmitIntegerI32, ARM::HPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f16, 2, 4, 5,
   31,
    OPC_CheckChild0Type, MVT::f64,
    OPC_CheckPatternPredicate, 15,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::f32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::VCVTBDH),
                    MVT::f32, 4, 1, 0, 2, 3,
    OPC_EmitIntegerI32, ARM::HPRRegClassID,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                    MVT::f16, 2, 4, 5,
   0,
  12, MVT::v4f16,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTf2h),
                   MVT::v4f16, 3, 0, 1, 2,
  0,
 55, TARGET_VAL(ISD::STRICT_FTRUNC),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 15, MVT::f16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VRINTZH),
                   MVT::f16, 3, 1, 2, 3,
  15, MVT::f32,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VRINTZS),
                   MVT::f32, 3, 1, 2, 3,
  15, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VRINTZD),
                   MVT::f64, 3, 1, 2, 3,
  0,
 20|128,1, TARGET_VAL(ISD::FTRUNC),
  OPC_RecordChild0,
  OPC_SwitchType , 14, MVT::f16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTZH),
                   MVT::f16, 3, 0, 1, 2,
  14, MVT::f32,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTZS),
                   MVT::f32, 3, 0, 1, 2,
  14, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTZD),
                   MVT::f64, 3, 0, 1, 2,
  9, 2|128,1,
   OPC_CheckPatternPredicate, 24,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTZNDf),
                   2|128,1, 1, 0,
  36, 4|128,1,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTZNQf),
                    4|128,1, 1, 0,
   23,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf32Z),
                    4|128,1, 5, 0, 1, 2, 3, 4,
   0,
  8, MVT::v4f16,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTZNDh),
                   MVT::v4f16, 1, 0,
  34, MVT::v8f16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 25,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTZNQh),
                    MVT::v8f16, 1, 0,
   22,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf16Z),
                    MVT::v8f16, 5, 0, 1, 2, 3, 4,
   0,
  0,
 55, TARGET_VAL(ISD::STRICT_FNEARBYINT),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 15, MVT::f16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VRINTRH),
                   MVT::f16, 3, 1, 2, 3,
  15, MVT::f32,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VRINTRS),
                   MVT::f32, 3, 1, 2, 3,
  15, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VRINTRD),
                   MVT::f64, 3, 1, 2, 3,
  0,
 51, TARGET_VAL(ISD::FNEARBYINT),
  OPC_RecordChild0,
  OPC_SwitchType , 14, MVT::f16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTRH),
                   MVT::f16, 3, 0, 1, 2,
  14, MVT::f32,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTRS),
                   MVT::f32, 3, 0, 1, 2,
  14, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTRD),
                   MVT::f64, 3, 0, 1, 2,
  0,
 55, TARGET_VAL(ISD::STRICT_FRINT),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 15, MVT::f16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VRINTXH),
                   MVT::f16, 3, 1, 2, 3,
  15, MVT::f32,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VRINTXS),
                   MVT::f32, 3, 1, 2, 3,
  15, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VRINTXD),
                   MVT::f64, 3, 1, 2, 3,
  0,
 20|128,1, TARGET_VAL(ISD::FRINT),
  OPC_RecordChild0,
  OPC_SwitchType , 14, MVT::f16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTXH),
                   MVT::f16, 3, 0, 1, 2,
  14, MVT::f32,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTXS),
                   MVT::f32, 3, 0, 1, 2,
  14, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTXD),
                   MVT::f64, 3, 0, 1, 2,
  9, 2|128,1,
   OPC_CheckPatternPredicate, 24,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTXNDf),
                   2|128,1, 1, 0,
  36, 4|128,1,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTXNQf),
                    4|128,1, 1, 0,
   23,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf32X),
                    4|128,1, 5, 0, 1, 2, 3, 4,
   0,
  8, MVT::v4f16,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTXNDh),
                   MVT::v4f16, 1, 0,
  34, MVT::v8f16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 25,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTXNQh),
                    MVT::v8f16, 1, 0,
   22,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf16X),
                    MVT::v8f16, 5, 0, 1, 2, 3, 4,
   0,
  0,
 37, TARGET_VAL(ISD::STRICT_FROUND),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::f16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VRINTAH),
                   MVT::f16, 1, 1,
  9, MVT::f32,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VRINTAS),
                   MVT::f32, 1, 1,
  9, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VRINTAD),
                   MVT::f64, 1, 1,
  0,
 2|128,1, TARGET_VAL(ISD::FROUND),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::f16,
   OPC_CheckPatternPredicate, 11,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTAH),
                   MVT::f16, 1, 0,
  8, MVT::f32,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTAS),
                   MVT::f32, 1, 0,
  8, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTAD),
                   MVT::f64, 1, 0,
  9, 2|128,1,
   OPC_CheckPatternPredicate, 24,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTANDf),
                   2|128,1, 1, 0,
  36, 4|128,1,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTANQf),
                    4|128,1, 1, 0,
   23,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf32A),
                    4|128,1, 5, 0, 1, 2, 3, 4,
   0,
  8, MVT::v4f16,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTANDh),
                   MVT::v4f16, 1, 0,
  34, MVT::v8f16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 25,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTANQh),
                    MVT::v8f16, 1, 0,
   22,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf16A),
                    MVT::v8f16, 5, 0, 1, 2, 3, 4,
   0,
  0,
 37, TARGET_VAL(ISD::STRICT_FROUNDEVEN),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::f16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VRINTNH),
                   MVT::f16, 1, 1,
  9, MVT::f32,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VRINTNS),
                   MVT::f32, 1, 1,
  9, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VRINTND),
                   MVT::f64, 1, 1,
  0,
 2|128,1, TARGET_VAL(ISD::FROUNDEVEN),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::f16,
   OPC_CheckPatternPredicate, 11,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTNH),
                   MVT::f16, 1, 0,
  8, MVT::f32,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTNS),
                   MVT::f32, 1, 0,
  8, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTND),
                   MVT::f64, 1, 0,
  9, 2|128,1,
   OPC_CheckPatternPredicate, 24,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTNNDf),
                   2|128,1, 1, 0,
  36, 4|128,1,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTNNQf),
                    4|128,1, 1, 0,
   23,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf32N),
                    4|128,1, 5, 0, 1, 2, 3, 4,
   0,
  8, MVT::v4f16,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTNNDh),
                   MVT::v4f16, 1, 0,
  34, MVT::v8f16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 25,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTNNQh),
                    MVT::v8f16, 1, 0,
   22,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf16N),
                    MVT::v8f16, 5, 0, 1, 2, 3, 4,
   0,
  0,
 37, TARGET_VAL(ISD::STRICT_FCEIL),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::f16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VRINTPH),
                   MVT::f16, 1, 1,
  9, MVT::f32,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VRINTPS),
                   MVT::f32, 1, 1,
  9, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VRINTPD),
                   MVT::f64, 1, 1,
  0,
 2|128,1, TARGET_VAL(ISD::FCEIL),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::f16,
   OPC_CheckPatternPredicate, 11,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTPH),
                   MVT::f16, 1, 0,
  8, MVT::f32,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTPS),
                   MVT::f32, 1, 0,
  8, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTPD),
                   MVT::f64, 1, 0,
  9, 2|128,1,
   OPC_CheckPatternPredicate, 24,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTPNDf),
                   2|128,1, 1, 0,
  36, 4|128,1,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTPNQf),
                    4|128,1, 1, 0,
   23,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf32P),
                    4|128,1, 5, 0, 1, 2, 3, 4,
   0,
  8, MVT::v4f16,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTPNDh),
                   MVT::v4f16, 1, 0,
  34, MVT::v8f16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 25,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTPNQh),
                    MVT::v8f16, 1, 0,
   22,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf16P),
                    MVT::v8f16, 5, 0, 1, 2, 3, 4,
   0,
  0,
 37, TARGET_VAL(ISD::STRICT_FFLOOR),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 9, MVT::f16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VRINTMH),
                   MVT::f16, 1, 1,
  9, MVT::f32,
   OPC_CheckPatternPredicate, 16,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VRINTMS),
                   MVT::f32, 1, 1,
  9, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VRINTMD),
                   MVT::f64, 1, 1,
  0,
 2|128,1, TARGET_VAL(ISD::FFLOOR),
  OPC_RecordChild0,
  OPC_SwitchType , 8, MVT::f16,
   OPC_CheckPatternPredicate, 11,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTMH),
                   MVT::f16, 1, 0,
  8, MVT::f32,
   OPC_CheckPatternPredicate, 16,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTMS),
                   MVT::f32, 1, 0,
  8, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTMD),
                   MVT::f64, 1, 0,
  9, 2|128,1,
   OPC_CheckPatternPredicate, 24,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTMNDf),
                   2|128,1, 1, 0,
  36, 4|128,1,
   OPC_Scope, 9,
    OPC_CheckPatternPredicate, 24,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTMNQf),
                    4|128,1, 1, 0,
   23,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf32M),
                    4|128,1, 5, 0, 1, 2, 3, 4,
   0,
  8, MVT::v4f16,
   OPC_CheckPatternPredicate, 25,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTMNDh),
                   MVT::v4f16, 1, 0,
  34, MVT::v8f16,
   OPC_Scope, 8,
    OPC_CheckPatternPredicate, 25,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRINTMNQh),
                    MVT::v8f16, 1, 0,
   22,
    OPC_CheckPatternPredicate2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRINTf16M),
                    MVT::v8f16, 5, 0, 1, 2, 3, 4,
   0,
  0,
 55, TARGET_VAL(ISD::STRICT_FSQRT),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 15, MVT::f64,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VSQRTD),
                   MVT::f64, 3, 1, 2, 3,
  15, MVT::f32,
   OPC_CheckPatternPredicate, 34,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VSQRTS),
                   MVT::f32, 3, 1, 2, 3,
  15, MVT::f16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VSQRTH),
                   MVT::f16, 3, 1, 2, 3,
  0,
 51, TARGET_VAL(ISD::FSQRT),
  OPC_RecordChild0,
  OPC_SwitchType , 14, MVT::f64,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSQRTD),
                   MVT::f64, 3, 0, 1, 2,
  14, MVT::f32,
   OPC_CheckPatternPredicate, 34,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSQRTS),
                   MVT::f32, 3, 0, 1, 2,
  14, MVT::f16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSQRTH),
                   MVT::f16, 3, 0, 1, 2,
  0,
 43, TARGET_VAL(ARMISD::VMOVSR),
  OPC_RecordChild0,
  OPC_Scope, 14,
   OPC_CheckPatternPredicate, 106,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVSR),
                   MVT::f32, 3, 0, 1, 2,
  24,
   OPC_CheckPatternPredicate, 107,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::VMOVDRR),
                   MVT::f64, 4, 0, 0, 1, 2,
   OPC_EmitIntegerI32, ARM::ssub_0,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::f32, 2, 3, 4,
  0,
 17, TARGET_VAL(ARMISD::VMOVDRR),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckPatternPredicate, 46,
  OPC_EmitIntegerI32, 14,
  OPC_EmitRegisterI32, 0 ,
  OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVDRR),
                  MVT::f64, 4, 0, 1, 2, 3,
 35, TARGET_VAL(ARMISD::VMOVhr),
  OPC_RecordChild0,
  OPC_SwitchType , 14, MVT::f16,
   OPC_CheckPatternPredicate, 54,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVHR),
                   MVT::f16, 3, 0, 1, 2,
  14, MVT::bf16,
   OPC_CheckPatternPredicate, 54,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVHR),
                   MVT::bf16, 3, 0, 1, 2,
  0,
 53, TARGET_VAL(ISD::FP16_TO_FP),
  OPC_RecordChild0,
  OPC_SwitchType , 23, MVT::f32,
   OPC_CheckPatternPredicate, 36,
   OPC_EmitIntegerI32, ARM::SPRRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f32, 2, 0, 1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTBHS),
                   MVT::f32, 3, 2, 3, 4,
  23, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitIntegerI32, ARM::SPRRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f32, 2, 0, 1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCVTBHD),
                   MVT::f64, 3, 2, 3, 4,
  0,
 56, TARGET_VAL(ISD::STRICT_FP16_TO_FP),
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_SwitchType , 24, MVT::f32,
   OPC_CheckPatternPredicate, 36,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, ARM::SPRRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f32, 2, 1, 2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VCVTBHS),
                   MVT::f32, 3, 3, 4, 5,
  24, MVT::f64,
   OPC_CheckPatternPredicate, 15,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, ARM::SPRRegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::f32, 2, 1, 2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1Chain, TARGET_VAL(ARM::VCVTBHD),
                   MVT::f64, 3, 3, 4, 5,
  0,
 118|128,1, TARGET_VAL(ISD::FMAXIMUM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 81, MVT::f16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4f16, 0,
   OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4f16, 2, 2, 3,
   OPC_EmitIntegerI32, ARM::ssub_0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v4f16, 3, 4, 0, 5,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4f16, 0,
   OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4f16, 2, 7, 8,
   OPC_EmitIntegerI32, ARM::ssub_0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v4f16, 3, 9, 1, 10,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::VMAXhd),
                   MVT::f64, 4, 6, 11, 12, 13,
   OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4f16, 2, 14, 15,
   OPC_EmitIntegerI32, ARM::ssub_0,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::f16, 2, 16, 17,
  87, MVT::f32,
   OPC_CheckPatternPredicate1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   2|128,1, 0,
   OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   2|128,1, 2, 2, 3,
   OPC_EmitIntegerI32, ARM::ssub_0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   2|128,1, 3, 4, 0, 5,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   2|128,1, 0,
   OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   2|128,1, 2, 7, 8,
   OPC_EmitIntegerI32, ARM::ssub_0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   2|128,1, 3, 9, 1, 10,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::VMAXfd),
                   MVT::f64, 4, 6, 11, 12, 13,
   OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   2|128,1, 2, 14, 15,
   OPC_EmitIntegerI32, ARM::ssub_0,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::f32, 2, 16, 17,
  15, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMAXfd),
                   2|128,1, 4, 0, 1, 2, 3,
  15, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMAXfq),
                   4|128,1, 4, 0, 1, 2, 3,
  15, MVT::v4f16,
   OPC_CheckPatternPredicate, 13,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMAXhd),
                   MVT::v4f16, 4, 0, 1, 2, 3,
  15, MVT::v8f16,
   OPC_CheckPatternPredicate, 13,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMAXhq),
                   MVT::v8f16, 4, 0, 1, 2, 3,
  0,
 118|128,1, TARGET_VAL(ISD::FMINIMUM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 81, MVT::f16,
   OPC_CheckPatternPredicate, 11,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4f16, 0,
   OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4f16, 2, 2, 3,
   OPC_EmitIntegerI32, ARM::ssub_0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v4f16, 3, 4, 0, 5,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4f16, 0,
   OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4f16, 2, 7, 8,
   OPC_EmitIntegerI32, ARM::ssub_0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v4f16, 3, 9, 1, 10,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::VMINhd),
                   MVT::f64, 4, 6, 11, 12, 13,
   OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   MVT::v4f16, 2, 14, 15,
   OPC_EmitIntegerI32, ARM::ssub_0,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::f16, 2, 16, 17,
  87, MVT::f32,
   OPC_CheckPatternPredicate1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   2|128,1, 0,
   OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   2|128,1, 2, 2, 3,
   OPC_EmitIntegerI32, ARM::ssub_0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   2|128,1, 3, 4, 0, 5,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   2|128,1, 0,
   OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   2|128,1, 2, 7, 8,
   OPC_EmitIntegerI32, ARM::ssub_0,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   2|128,1, 3, 9, 1, 10,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(ARM::VMINfd),
                   MVT::f64, 4, 6, 11, 12, 13,
   OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                   2|128,1, 2, 14, 15,
   OPC_EmitIntegerI32, ARM::ssub_0,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::f32, 2, 16, 17,
  15, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMINfd),
                   2|128,1, 4, 0, 1, 2, 3,
  15, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMINfq),
                   4|128,1, 4, 0, 1, 2, 3,
  15, MVT::v4f16,
   OPC_CheckPatternPredicate, 13,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMINhd),
                   MVT::v4f16, 4, 0, 1, 2, 3,
  15, MVT::v8f16,
   OPC_CheckPatternPredicate, 13,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMINhq),
                   MVT::v8f16, 4, 0, 1, 2, 3,
  0,
 3|128,2, TARGET_VAL(ARMISD::VMOVIMM),
  OPC_Scope, 22,
   OPC_CheckChild0Integer, 0,
   OPC_SwitchType , 7, MVT::v2i32,
    OPC_CheckPatternPredicate, 110,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVD0),
                    MVT::v2i32, 0,
   7, MVT::v4i32,
    OPC_CheckPatternPredicate, 110,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVQ0),
                    MVT::v4i32, 0,
   0,
  104|128,1,
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_SwitchType , 13, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVv8i8),
                    MVT::v8i8, 3, 0, 1, 2,
   39, MVT::v16i8,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVv16i8),
                     MVT::v16i8, 3, 0, 1, 2,
    22,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVimmi8),
                     MVT::v16i8, 5, 0, 1, 2, 3, 4,
    0,
   13, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVv4i16),
                    MVT::v4i16, 3, 0, 1, 2,
   39, MVT::v8i16,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVv8i16),
                     MVT::v8i16, 3, 0, 1, 2,
    22,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVimmi16),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    0,
   13, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVv2i32),
                    MVT::v2i32, 3, 0, 1, 2,
   39, MVT::v4i32,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVv4i32),
                     MVT::v4i32, 3, 0, 1, 2,
    22,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVimmi32),
                     MVT::v4i32, 5, 0, 1, 2, 3, 4,
    0,
   13, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVv1i64),
                    MVT::v1i64, 3, 0, 1, 2,
   39, MVT::v2i64,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVv2i64),
                     MVT::v2i64, 3, 0, 1, 2,
    22,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVimmi64),
                     MVT::v2i64, 5, 0, 1, 2, 3, 4,
    0,
   0,
  0,
 102|128,55, TARGET_VAL(ISD::VSELECT),
  OPC_Scope, 81|128,3,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 126|128,1, TARGET_VAL(ARMISD::VCMPZ),
    OPC_RecordChild0,
    OPC_SwitchType , 84, MVT::v16i1,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_CheckChild1Integer, 12,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_CheckChild1Same, 0,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VCMP),
     OPC_CheckChild0Same, 0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0|128,29,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI32,
     OPC_CheckType, MVT::v16i1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,28,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQABSs8),
                     MVT::v16i8, 5, 0, 1, 2, 3, 4,
    84, MVT::v8i1,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_CheckChild1Integer, 12,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_CheckChild1Same, 0,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VCMP),
     OPC_CheckChild0Same, 0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0|128,21,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI32,
     OPC_CheckType, MVT::v8i1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMVNIMM),
     OPC_CheckChild0Integer, 0|128,21,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQABSs16),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    77, MVT::v4i1,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_CheckChild1Integer, 12,
     OPC_CheckChild1TypeI32,
     OPC_MoveParent,
     OPC_CheckChild1Same, 0,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VCMP),
     OPC_CheckChild0Same, 0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0|128,13,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI32,
     OPC_CheckType, MVT::v4i1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMVNIMM),
     OPC_CheckChild0Integer, 0|128,13,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0,
     OPC_MoveParent,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQABSs32),
                     MVT::v4i32, 5, 0, 1, 2, 3, 4,
    0,
   72|128,1, TARGET_VAL(ARMISD::VCMP),
    OPC_RecordChild0,
    OPC_Scope, 67,
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0|128,29,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI32,
     OPC_CheckType, MVT::v16i1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 127|128,28,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQNEGs8),
                     MVT::v16i8, 5, 0, 1, 2, 3, 4,
    67,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0|128,21,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI32,
     OPC_CheckType, MVT::v8i1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMVNIMM),
     OPC_CheckChild0Integer, 0|128,21,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQNEGs16),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    60,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0|128,13,
     OPC_MoveParent,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI32,
     OPC_CheckType, MVT::v4i1,
     OPC_MoveSibling1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMVNIMM),
     OPC_CheckChild0Integer, 0|128,13,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0,
     OPC_MoveParent,
     OPC_CheckChild1Same, 0,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQNEGs32),
                     MVT::v4i32, 5, 0, 1, 2, 3, 4,
    0,
   0,
  15|128,52,
   OPC_RecordChild0,
   OPC_Scope, 89|128,18,
    OPC_CheckChild0Type, MVT::v8i1,
    OPC_Scope, 32|128,12,
     OPC_MoveChild1,
     OPC_SwitchOpcode , 66|128,1, TARGET_VAL(ISD::AND),
      OPC_Scope, 83,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_Scope, 37,
        OPC_RecordChild0,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,29,
        OPC_CheckType, MVT::v16i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                        MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
       37,
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,29,
        OPC_CheckType, MVT::v16i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                        MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
       0,
      84,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_Scope, 38,
        OPC_RecordChild0,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,29,
        OPC_CheckType, MVT::v16i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                        MVT::v8i16, 6, 2, 1, 4, 0, 5, 3,
       38,
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,29,
        OPC_CheckType, MVT::v16i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                        MVT::v8i16, 6, 2, 1, 4, 0, 5, 3,
       0,
      22,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VAND),
                       MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
      0,
     66|128,1, TARGET_VAL(ISD::OR),
      OPC_Scope, 83,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_Scope, 37,
        OPC_RecordChild0,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,29,
        OPC_CheckType, MVT::v16i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                        MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
       37,
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,29,
        OPC_CheckType, MVT::v16i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                        MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
       0,
      84,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_Scope, 38,
        OPC_RecordChild0,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,29,
        OPC_CheckType, MVT::v16i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                        MVT::v8i16, 6, 2, 1, 4, 0, 5, 3,
       38,
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,29,
        OPC_CheckType, MVT::v16i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v8i16,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                        MVT::v8i16, 6, 2, 1, 4, 0, 5, 3,
       0,
      22,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORR),
                       MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
      0,
     27, TARGET_VAL(ARMISD::VORRIMM),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild2Same, 1,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORRimmi16),
                      MVT::v8i16, 5, 1, 2, 3, 0, 4,
     27, TARGET_VAL(ARMISD::VBICIMM),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild2Same, 1,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBICimmi16),
                      MVT::v8i16, 5, 1, 2, 3, 0, 4,
     25, TARGET_VAL(ARMISD::VMVNIMM),
      OPC_RecordChild0,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMVNimmi16),
                      MVT::v8i16, 5, 1, 3, 0, 4, 2,
     83, TARGET_VAL(ISD::ADD),
      OPC_Scope, 28,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_i16),
                       MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
      28,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_i16),
                       MVT::v8i16, 6, 2, 1, 4, 0, 5, 3,
      22,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDi16),
                       MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
      0,
     53, TARGET_VAL(ISD::SUB),
      OPC_RecordChild0,
      OPC_Scope, 27,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_i16),
                       MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
      21,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBi16),
                       MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
      0,
     83, TARGET_VAL(ISD::SADDSAT),
      OPC_Scope, 28,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_s16),
                       MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
      28,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_s16),
                       MVT::v8i16, 6, 2, 1, 4, 0, 5, 3,
      22,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADDs16),
                       MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
      0,
     83, TARGET_VAL(ISD::UADDSAT),
      OPC_Scope, 28,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_u16),
                       MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
      28,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_u16),
                       MVT::v8i16, 6, 2, 1, 4, 0, 5, 3,
      22,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADDu16),
                       MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
      0,
     53, TARGET_VAL(ISD::SSUBSAT),
      OPC_RecordChild0,
      OPC_Scope, 27,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUB_qr_s16),
                       MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
      21,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUBs16),
                       MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
      0,
     53, TARGET_VAL(ISD::USUBSAT),
      OPC_RecordChild0,
      OPC_Scope, 27,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUB_qr_u16),
                       MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
      21,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUBu16),
                       MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
      0,
     80, TARGET_VAL(ISD::AVGFLOORS),
      OPC_Scope, 27,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s16),
                       MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
      27,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s16),
                       MVT::v8i16, 6, 2, 1, 4, 0, 5, 3,
      21,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADDs16),
                       MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
      0,
     80, TARGET_VAL(ISD::AVGFLOORU),
      OPC_Scope, 27,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u16),
                       MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
      27,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u16),
                       MVT::v8i16, 6, 2, 1, 4, 0, 5, 3,
      21,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADDu16),
                       MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
      0,
     83, TARGET_VAL(ISD::MUL),
      OPC_Scope, 28,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_i16),
                       MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
      28,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_i16),
                       MVT::v8i16, 6, 2, 1, 4, 0, 5, 3,
      22,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULi16),
                       MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
      0,
     53, TARGET_VAL(ARMISD::VQDMULH),
      OPC_RecordChild0,
      OPC_Scope, 27,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULH_qr_s16),
                       MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
      21,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULHi16),
                       MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
      0,
     22, TARGET_VAL(ISD::SMIN),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINs16),
                      MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ISD::UMIN),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINu16),
                      MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ISD::SMAX),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXs16),
                      MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ISD::UMAX),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXu16),
                      MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VEOR),
                      MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ISD::ABDS),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDs16),
                      MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ISD::ABDU),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDu16),
                      MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
     21, TARGET_VAL(ISD::AVGCEILS),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v8i16,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRHADDs16),
                      MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
     21, TARGET_VAL(ISD::AVGCEILU),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v8i16,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRHADDu16),
                      MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
     21, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VDUP16),
                      MVT::v8i16, 5, 1, 3, 0, 4, 2,
     22, TARGET_VAL(ARMISD::VSHLu),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecu16),
                      MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ARMISD::VSHLs),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecs16),
                      MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ISD::MULHS),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULHs16),
                      MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ISD::MULHU),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULHu16),
                      MVT::v8i16, 6, 1, 2, 4, 0, 5, 3,
     0,
    19,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                     MVT::v8i16, 5, 1, 2, 3, 0, 4,
    9|128,6,
     OPC_MoveChild1,
     OPC_SwitchOpcode , 123|128,1, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
      OPC_Scope, 62,
       OPC_CheckChild0Integer, 119|128,29,
       OPC_RecordChild1,
       OPC_CheckChild1Type, MVT::v8f16,
       OPC_Scope, 29,
        OPC_MoveChild2,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
        OPC_RecordChild0,
        OPC_CheckChild0TypeI32,
        OPC_CheckType, MVT::v8f16,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v8f16,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_f16),
                        MVT::v8f16, 6, 1, 2, 4, 0, 5, 3,
       23,
        OPC_RecordChild2,
        OPC_CheckChild2Type, MVT::v8f16,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v8f16,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDf16),
                        MVT::v8f16, 6, 1, 2, 4, 0, 5, 3,
       0,
      62,
       OPC_CheckChild0Integer, 122|128,30,
       OPC_RecordChild1,
       OPC_CheckChild1Type, MVT::v8f16,
       OPC_Scope, 29,
        OPC_MoveChild2,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
        OPC_RecordChild0,
        OPC_CheckChild0TypeI32,
        OPC_CheckType, MVT::v8f16,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v8f16,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_f16),
                        MVT::v8f16, 6, 1, 2, 4, 0, 5, 3,
       23,
        OPC_RecordChild2,
        OPC_CheckChild2Type, MVT::v8f16,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v8f16,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBf16),
                        MVT::v8f16, 6, 1, 2, 4, 0, 5, 3,
       0,
      62,
       OPC_CheckChild0Integer, 54|128,30,
       OPC_RecordChild1,
       OPC_CheckChild1Type, MVT::v8f16,
       OPC_Scope, 29,
        OPC_MoveChild2,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
        OPC_RecordChild0,
        OPC_CheckChild0TypeI32,
        OPC_CheckType, MVT::v8f16,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v8f16,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_f16),
                        MVT::v8f16, 6, 1, 2, 4, 0, 5, 3,
       23,
        OPC_RecordChild2,
        OPC_CheckChild2Type, MVT::v8f16,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v8f16,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULf16),
                        MVT::v8f16, 6, 1, 2, 4, 0, 5, 3,
       0,
      29,
       OPC_CheckChild0Integer, 41|128,30,
       OPC_RecordChild1,
       OPC_CheckChild1Type, MVT::v8f16,
       OPC_RecordChild2,
       OPC_CheckChild2Type, MVT::v8f16,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8f16,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXNMf16),
                       MVT::v8f16, 6, 1, 2, 4, 0, 5, 3,
      29,
       OPC_CheckChild0Integer, 44|128,30,
       OPC_RecordChild1,
       OPC_CheckChild1Type, MVT::v8f16,
       OPC_RecordChild2,
       OPC_CheckChild2Type, MVT::v8f16,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8f16,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINNMf16),
                       MVT::v8f16, 6, 1, 2, 4, 0, 5, 3,
      0,
     85|128,1, TARGET_VAL(ISD::FMA),
      OPC_Scope, 60,
       OPC_MoveChild0,
       OPC_SwitchOpcode , 25, TARGET_VAL(ISD::FNEG),
        OPC_RecordChild0,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_MoveParent,
        OPC_CheckChild2Same, 3,
        OPC_CheckType, MVT::v8f16,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMSf16),
                        MVT::v8f16, 6, 3, 1, 2, 4, 0, 5,
       26, TARGET_VAL(ARMISD::VDUP),
        OPC_RecordChild0,
        OPC_CheckChild0TypeI32,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_MoveParent,
        OPC_CheckChild2Same, 3,
        OPC_CheckType, MVT::v8f16,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMA_qr_f16),
                        MVT::v8f16, 6, 3, 2, 1, 4, 0, 5,
       0,
      20|128,1,
       OPC_RecordChild0,
       OPC_Scope, 29,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
        OPC_RecordChild0,
        OPC_CheckChild0TypeI32,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_MoveParent,
        OPC_CheckChild2Same, 3,
        OPC_CheckType, MVT::v8f16,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMA_qr_f16),
                        MVT::v8f16, 6, 3, 1, 2, 4, 0, 5,
       29,
        OPC_RecordChild1,
        OPC_MoveChild2,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
        OPC_RecordChild0,
        OPC_CheckChild0TypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild2Same, 1,
        OPC_CheckType, MVT::v8f16,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMA_qr_Sf16),
                        MVT::v8f16, 6, 1, 2, 3, 4, 0, 5,
       28,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
        OPC_RecordChild0,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_MoveParent,
        OPC_CheckChild2Same, 3,
        OPC_CheckType, MVT::v8f16,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMSf16),
                        MVT::v8f16, 6, 3, 2, 1, 4, 0, 5,
       55,
        OPC_RecordChild1,
        OPC_Scope, 28,
         OPC_MoveChild2,
         OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
         OPC_RecordChild0,
         OPC_CheckChild0TypeI32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild2Same, 2,
         OPC_CheckType, MVT::v8f16,
         OPC_CheckPatternPredicate2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMA_qr_Sf16),
                         MVT::v8f16, 6, 2, 1, 3, 4, 0, 5,
        22,
         OPC_RecordChild2,
         OPC_MoveParent,
         OPC_CheckChild2Same, 3,
         OPC_CheckType, MVT::v8f16,
         OPC_CheckPatternPredicate2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMAf16),
                         MVT::v8f16, 6, 3, 1, 2, 4, 0, 5,
        0,
       0,
      0,
     83, TARGET_VAL(ISD::FADD),
      OPC_Scope, 28,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8f16,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_f16),
                       MVT::v8f16, 6, 1, 2, 4, 0, 5, 3,
      28,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8f16,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_f16),
                       MVT::v8f16, 6, 2, 1, 4, 0, 5, 3,
      22,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8f16,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDf16),
                       MVT::v8f16, 6, 1, 2, 4, 0, 5, 3,
      0,
     53, TARGET_VAL(ISD::FSUB),
      OPC_RecordChild0,
      OPC_Scope, 27,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8f16,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_f16),
                       MVT::v8f16, 6, 1, 2, 4, 0, 5, 3,
      21,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8f16,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBf16),
                       MVT::v8f16, 6, 1, 2, 4, 0, 5, 3,
      0,
     83, TARGET_VAL(ISD::FMUL),
      OPC_Scope, 28,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8f16,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_f16),
                       MVT::v8f16, 6, 1, 2, 4, 0, 5, 3,
      28,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8f16,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_f16),
                       MVT::v8f16, 6, 2, 1, 4, 0, 5, 3,
      22,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v8f16,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULf16),
                       MVT::v8f16, 6, 1, 2, 4, 0, 5, 3,
      0,
     22, TARGET_VAL(ISD::FMAXNUM),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v8f16,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXNMf16),
                      MVT::v8f16, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ISD::FMINNUM),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v8f16,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINNMf16),
                      MVT::v8f16, 6, 1, 2, 4, 0, 5, 3,
     21, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v8f16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VDUP16),
                      MVT::v8f16, 5, 1, 3, 0, 4, 2,
     0,
    19,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                     MVT::v8f16, 5, 1, 2, 3, 0, 4,
    0,
   28|128,19,
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_Scope, 32|128,12,
     OPC_MoveChild1,
     OPC_SwitchOpcode , 66|128,1, TARGET_VAL(ISD::AND),
      OPC_Scope, 83,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_Scope, 37,
        OPC_RecordChild0,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,29,
        OPC_CheckType, MVT::v16i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                        MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
       37,
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,29,
        OPC_CheckType, MVT::v16i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                        MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
       0,
      84,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_Scope, 38,
        OPC_RecordChild0,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,29,
        OPC_CheckType, MVT::v16i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                        MVT::v4i32, 6, 2, 1, 4, 0, 5, 3,
       38,
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,29,
        OPC_CheckType, MVT::v16i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                        MVT::v4i32, 6, 2, 1, 4, 0, 5, 3,
       0,
      22,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VAND),
                       MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
      0,
     66|128,1, TARGET_VAL(ISD::OR),
      OPC_Scope, 83,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_Scope, 37,
        OPC_RecordChild0,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,29,
        OPC_CheckType, MVT::v16i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                        MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
       37,
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,29,
        OPC_CheckType, MVT::v16i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                        MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
       0,
      84,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_Scope, 38,
        OPC_RecordChild0,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,29,
        OPC_CheckType, MVT::v16i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                        MVT::v4i32, 6, 2, 1, 4, 0, 5, 3,
       38,
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,29,
        OPC_CheckType, MVT::v16i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v4i32,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                        MVT::v4i32, 6, 2, 1, 4, 0, 5, 3,
       0,
      22,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORR),
                       MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
      0,
     27, TARGET_VAL(ARMISD::VORRIMM),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild2Same, 1,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORRimmi32),
                      MVT::v4i32, 5, 1, 2, 3, 0, 4,
     27, TARGET_VAL(ARMISD::VBICIMM),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild2Same, 1,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBICimmi32),
                      MVT::v4i32, 5, 1, 2, 3, 0, 4,
     25, TARGET_VAL(ARMISD::VMVNIMM),
      OPC_RecordChild0,
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMVNimmi32),
                      MVT::v4i32, 5, 1, 3, 0, 4, 2,
     83, TARGET_VAL(ISD::ADD),
      OPC_Scope, 28,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_i32),
                       MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
      28,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_i32),
                       MVT::v4i32, 6, 2, 1, 4, 0, 5, 3,
      22,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDi32),
                       MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
      0,
     53, TARGET_VAL(ISD::SUB),
      OPC_RecordChild0,
      OPC_Scope, 27,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_i32),
                       MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
      21,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBi32),
                       MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
      0,
     83, TARGET_VAL(ISD::SADDSAT),
      OPC_Scope, 28,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_s32),
                       MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
      28,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_s32),
                       MVT::v4i32, 6, 2, 1, 4, 0, 5, 3,
      22,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADDs32),
                       MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
      0,
     83, TARGET_VAL(ISD::UADDSAT),
      OPC_Scope, 28,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_u32),
                       MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
      28,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_u32),
                       MVT::v4i32, 6, 2, 1, 4, 0, 5, 3,
      22,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADDu32),
                       MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
      0,
     53, TARGET_VAL(ISD::SSUBSAT),
      OPC_RecordChild0,
      OPC_Scope, 27,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUB_qr_s32),
                       MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
      21,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUBs32),
                       MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
      0,
     53, TARGET_VAL(ISD::USUBSAT),
      OPC_RecordChild0,
      OPC_Scope, 27,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUB_qr_u32),
                       MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
      21,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUBu32),
                       MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
      0,
     80, TARGET_VAL(ISD::AVGFLOORS),
      OPC_Scope, 27,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s32),
                       MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
      27,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s32),
                       MVT::v4i32, 6, 2, 1, 4, 0, 5, 3,
      21,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADDs32),
                       MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
      0,
     80, TARGET_VAL(ISD::AVGFLOORU),
      OPC_Scope, 27,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u32),
                       MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
      27,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u32),
                       MVT::v4i32, 6, 2, 1, 4, 0, 5, 3,
      21,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADDu32),
                       MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
      0,
     83, TARGET_VAL(ISD::MUL),
      OPC_Scope, 28,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_i32),
                       MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
      28,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_i32),
                       MVT::v4i32, 6, 2, 1, 4, 0, 5, 3,
      22,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULi32),
                       MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
      0,
     53, TARGET_VAL(ARMISD::VQDMULH),
      OPC_RecordChild0,
      OPC_Scope, 27,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULH_qr_s32),
                       MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
      21,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULHi32),
                       MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
      0,
     22, TARGET_VAL(ISD::SMIN),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINs32),
                      MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ISD::UMIN),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINu32),
                      MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ISD::SMAX),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXs32),
                      MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ISD::UMAX),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXu32),
                      MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VEOR),
                      MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ISD::ABDS),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDs32),
                      MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ISD::ABDU),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDu32),
                      MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
     21, TARGET_VAL(ISD::AVGCEILS),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v4i32,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRHADDs32),
                      MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
     21, TARGET_VAL(ISD::AVGCEILU),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v4i32,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRHADDu32),
                      MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
     21, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VDUP32),
                      MVT::v4i32, 5, 1, 3, 0, 4, 2,
     22, TARGET_VAL(ARMISD::VSHLu),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecu32),
                      MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ARMISD::VSHLs),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecs32),
                      MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ISD::MULHS),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULHs32),
                      MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ISD::MULHU),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULHu32),
                      MVT::v4i32, 6, 1, 2, 4, 0, 5, 3,
     0,
    19,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                     MVT::v4i32, 5, 1, 2, 3, 0, 4,
    74|128,6,
     OPC_MoveChild1,
     OPC_SwitchOpcode , 24|128,2, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
      OPC_Scope, 69,
       OPC_CheckChild0Integer, 119|128,29,
       OPC_RecordChild1,
       OPC_CheckChild1Type, 4|128,1,
       OPC_Scope, 32,
        OPC_MoveChild2,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
        OPC_RecordChild0,
        OPC_CheckChild0TypeI32,
        OPC_CheckType, 4|128,1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, 4|128,1,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_f32),
                        4|128,1, 6, 1, 2, 4, 0, 5, 3,
       26,
        OPC_RecordChild2,
        OPC_CheckChild2Type, 4|128,1,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, 4|128,1,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDf32),
                        4|128,1, 6, 1, 2, 4, 0, 5, 3,
       0,
      69,
       OPC_CheckChild0Integer, 122|128,30,
       OPC_RecordChild1,
       OPC_CheckChild1Type, 4|128,1,
       OPC_Scope, 32,
        OPC_MoveChild2,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
        OPC_RecordChild0,
        OPC_CheckChild0TypeI32,
        OPC_CheckType, 4|128,1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, 4|128,1,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_f32),
                        4|128,1, 6, 1, 2, 4, 0, 5, 3,
       26,
        OPC_RecordChild2,
        OPC_CheckChild2Type, 4|128,1,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, 4|128,1,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBf32),
                        4|128,1, 6, 1, 2, 4, 0, 5, 3,
       0,
      69,
       OPC_CheckChild0Integer, 54|128,30,
       OPC_RecordChild1,
       OPC_CheckChild1Type, 4|128,1,
       OPC_Scope, 32,
        OPC_MoveChild2,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
        OPC_RecordChild0,
        OPC_CheckChild0TypeI32,
        OPC_CheckType, 4|128,1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, 4|128,1,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_f32),
                        4|128,1, 6, 1, 2, 4, 0, 5, 3,
       26,
        OPC_RecordChild2,
        OPC_CheckChild2Type, 4|128,1,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, 4|128,1,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULf32),
                        4|128,1, 6, 1, 2, 4, 0, 5, 3,
       0,
      33,
       OPC_CheckChild0Integer, 41|128,30,
       OPC_RecordChild1,
       OPC_CheckChild1Type, 4|128,1,
       OPC_RecordChild2,
       OPC_CheckChild2Type, 4|128,1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, 4|128,1,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXNMf32),
                       4|128,1, 6, 1, 2, 4, 0, 5, 3,
      33,
       OPC_CheckChild0Integer, 44|128,30,
       OPC_RecordChild1,
       OPC_CheckChild1Type, 4|128,1,
       OPC_RecordChild2,
       OPC_CheckChild2Type, 4|128,1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, 4|128,1,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINNMf32),
                       4|128,1, 6, 1, 2, 4, 0, 5, 3,
      0,
     99|128,1, TARGET_VAL(ISD::FMA),
      OPC_Scope, 64,
       OPC_MoveChild0,
       OPC_SwitchOpcode , 27, TARGET_VAL(ISD::FNEG),
        OPC_RecordChild0,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_MoveParent,
        OPC_CheckChild2Same, 3,
        OPC_CheckType, 4|128,1,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMSf32),
                        4|128,1, 6, 3, 1, 2, 4, 0, 5,
       28, TARGET_VAL(ARMISD::VDUP),
        OPC_RecordChild0,
        OPC_CheckChild0TypeI32,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_RecordChild2,
        OPC_MoveParent,
        OPC_CheckChild2Same, 3,
        OPC_CheckType, 4|128,1,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMA_qr_f32),
                        4|128,1, 6, 3, 2, 1, 4, 0, 5,
       0,
      30|128,1,
       OPC_RecordChild0,
       OPC_Scope, 31,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
        OPC_RecordChild0,
        OPC_CheckChild0TypeI32,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_MoveParent,
        OPC_CheckChild2Same, 3,
        OPC_CheckType, 4|128,1,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMA_qr_f32),
                        4|128,1, 6, 3, 1, 2, 4, 0, 5,
       31,
        OPC_RecordChild1,
        OPC_MoveChild2,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
        OPC_RecordChild0,
        OPC_CheckChild0TypeI32,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_CheckChild2Same, 1,
        OPC_CheckType, 4|128,1,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMA_qr_Sf32),
                        4|128,1, 6, 1, 2, 3, 4, 0, 5,
       30,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
        OPC_RecordChild0,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_MoveParent,
        OPC_CheckChild2Same, 3,
        OPC_CheckType, 4|128,1,
        OPC_CheckPatternPredicate2,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMSf32),
                        4|128,1, 6, 3, 2, 1, 4, 0, 5,
       59,
        OPC_RecordChild1,
        OPC_Scope, 30,
         OPC_MoveChild2,
         OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
         OPC_RecordChild0,
         OPC_CheckChild0TypeI32,
         OPC_MoveParent,
         OPC_MoveParent,
         OPC_CheckChild2Same, 2,
         OPC_CheckType, 4|128,1,
         OPC_CheckPatternPredicate2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMA_qr_Sf32),
                         4|128,1, 6, 2, 1, 3, 4, 0, 5,
        24,
         OPC_RecordChild2,
         OPC_MoveParent,
         OPC_CheckChild2Same, 3,
         OPC_CheckType, 4|128,1,
         OPC_CheckPatternPredicate2,
         OPC_EmitIntegerI32, 1,
         OPC_EmitRegisterI32, 0 ,
         OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VFMAf32),
                         4|128,1, 6, 3, 1, 2, 4, 0, 5,
        0,
       0,
      0,
     89, TARGET_VAL(ISD::FADD),
      OPC_Scope, 30,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, 4|128,1,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_f32),
                       4|128,1, 6, 1, 2, 4, 0, 5, 3,
      30,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, 4|128,1,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_f32),
                       4|128,1, 6, 2, 1, 4, 0, 5, 3,
      24,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, 4|128,1,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDf32),
                       4|128,1, 6, 1, 2, 4, 0, 5, 3,
      0,
     57, TARGET_VAL(ISD::FSUB),
      OPC_RecordChild0,
      OPC_Scope, 29,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, 4|128,1,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_f32),
                       4|128,1, 6, 1, 2, 4, 0, 5, 3,
      23,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, 4|128,1,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBf32),
                       4|128,1, 6, 1, 2, 4, 0, 5, 3,
      0,
     89, TARGET_VAL(ISD::FMUL),
      OPC_Scope, 30,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, 4|128,1,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_f32),
                       4|128,1, 6, 1, 2, 4, 0, 5, 3,
      30,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, 4|128,1,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_f32),
                       4|128,1, 6, 2, 1, 4, 0, 5, 3,
      24,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, 4|128,1,
       OPC_CheckPatternPredicate2,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULf32),
                       4|128,1, 6, 1, 2, 4, 0, 5, 3,
      0,
     24, TARGET_VAL(ISD::FMAXNUM),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXNMf32),
                      4|128,1, 6, 1, 2, 4, 0, 5, 3,
     24, TARGET_VAL(ISD::FMINNUM),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINNMf32),
                      4|128,1, 6, 1, 2, 4, 0, 5, 3,
     23, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, 4|128,1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VDUP32),
                      4|128,1, 5, 1, 3, 0, 4, 2,
     0,
    21,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, 4|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                     4|128,1, 5, 1, 2, 3, 0, 4,
    0,
   42|128,11,
    OPC_CheckChild0Type, MVT::v16i1,
    OPC_Scope, 16|128,11,
     OPC_MoveChild1,
     OPC_SwitchOpcode , 38|128,1, TARGET_VAL(ISD::AND),
      OPC_Scope, 69,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_Scope, 30,
        OPC_RecordChild0,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,29,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                        MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
       30,
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,29,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                        MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
       0,
      70,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_Scope, 31,
        OPC_RecordChild0,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,29,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                        MVT::v16i8, 6, 2, 1, 4, 0, 5, 3,
       31,
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,29,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBIC),
                        MVT::v16i8, 6, 2, 1, 4, 0, 5, 3,
       0,
      22,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VAND),
                       MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
      0,
     38|128,1, TARGET_VAL(ISD::OR),
      OPC_Scope, 69,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_Scope, 30,
        OPC_RecordChild0,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,29,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                        MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
       30,
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,29,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                        MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
       0,
      70,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
       OPC_Scope, 31,
        OPC_RecordChild0,
        OPC_MoveChild1,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,29,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                        MVT::v16i8, 6, 2, 1, 4, 0, 5, 3,
       31,
        OPC_MoveChild0,
        OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
        OPC_CheckChild0Integer, 127|128,29,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_RecordChild1,
        OPC_MoveParent,
        OPC_RecordChild2,
        OPC_CheckType, MVT::v16i8,
        OPC_CheckPatternPredicate0,
        OPC_EmitIntegerI32, 1,
        OPC_EmitRegisterI32, 0 ,
        OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORN),
                        MVT::v16i8, 6, 2, 1, 4, 0, 5, 3,
       0,
      22,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORR),
                       MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
      0,
     83, TARGET_VAL(ISD::ADD),
      OPC_Scope, 28,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_i8),
                       MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
      28,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADD_qr_i8),
                       MVT::v16i8, 6, 2, 1, 4, 0, 5, 3,
      22,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VADDi8),
                       MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
      0,
     53, TARGET_VAL(ISD::SUB),
      OPC_RecordChild0,
      OPC_Scope, 27,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUB_qr_i8),
                       MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
      21,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSUBi8),
                       MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
      0,
     83, TARGET_VAL(ISD::SADDSAT),
      OPC_Scope, 28,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_s8),
                       MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
      28,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_s8),
                       MVT::v16i8, 6, 2, 1, 4, 0, 5, 3,
      22,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADDs8),
                       MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
      0,
     83, TARGET_VAL(ISD::UADDSAT),
      OPC_Scope, 28,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_u8),
                       MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
      28,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_u8),
                       MVT::v16i8, 6, 2, 1, 4, 0, 5, 3,
      22,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADDu8),
                       MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
      0,
     53, TARGET_VAL(ISD::SSUBSAT),
      OPC_RecordChild0,
      OPC_Scope, 27,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUB_qr_s8),
                       MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
      21,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUBs8),
                       MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
      0,
     53, TARGET_VAL(ISD::USUBSAT),
      OPC_RecordChild0,
      OPC_Scope, 27,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUB_qr_u8),
                       MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
      21,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUBu8),
                       MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
      0,
     80, TARGET_VAL(ISD::AVGFLOORS),
      OPC_Scope, 27,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s8),
                       MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
      27,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s8),
                       MVT::v16i8, 6, 2, 1, 4, 0, 5, 3,
      21,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADDs8),
                       MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
      0,
     80, TARGET_VAL(ISD::AVGFLOORU),
      OPC_Scope, 27,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u8),
                       MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
      27,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u8),
                       MVT::v16i8, 6, 2, 1, 4, 0, 5, 3,
      21,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADDu8),
                       MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
      0,
     83, TARGET_VAL(ISD::MUL),
      OPC_Scope, 28,
       OPC_RecordChild0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_i8),
                       MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
      28,
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMUL_qr_i8),
                       MVT::v16i8, 6, 2, 1, 4, 0, 5, 3,
      22,
       OPC_RecordChild0,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULi8),
                       MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
      0,
     53, TARGET_VAL(ARMISD::VQDMULH),
      OPC_RecordChild0,
      OPC_Scope, 27,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
       OPC_RecordChild0,
       OPC_CheckChild0TypeI32,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULH_qr_s8),
                       MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
      21,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_RecordChild2,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 1,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULHi8),
                       MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
      0,
     22, TARGET_VAL(ISD::SMIN),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINs8),
                      MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ISD::UMIN),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINu8),
                      MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ISD::SMAX),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXs8),
                      MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ISD::UMAX),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXu8),
                      MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ISD::XOR),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VEOR),
                      MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ISD::ABDS),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDs8),
                      MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ISD::ABDU),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDu8),
                      MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
     21, TARGET_VAL(ISD::AVGCEILS),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v16i8,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRHADDs8),
                      MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
     21, TARGET_VAL(ISD::AVGCEILU),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v16i8,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRHADDu8),
                      MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
     21, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0TypeI32,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VDUP8),
                      MVT::v16i8, 5, 1, 3, 0, 4, 2,
     22, TARGET_VAL(ARMISD::VSHLu),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecu8),
                      MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ARMISD::VSHLs),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecs8),
                      MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ISD::MULHS),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULHs8),
                      MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
     22, TARGET_VAL(ISD::MULHU),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULHu8),
                      MVT::v16i8, 6, 1, 2, 4, 0, 5, 3,
     0,
    19,
     OPC_RecordChild1,
     OPC_RecordChild2,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                     MVT::v16i8, 5, 1, 2, 3, 0, 4,
    0,
   42,
    OPC_CheckChild0Type, MVT::v2i1,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 15, MVT::v2i64,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                     MVT::v2i64, 5, 1, 2, 3, 0, 4,
    16, 22|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                     22|128,1, 5, 1, 2, 3, 0, 4,
    0,
   63,
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi8),
                    MVT::v16i8, 5, 4, 5, 6, 7, 8,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VCMPi8),
                    MVT::i32, 6, 0, 9, 10, 11, 12, 13,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                    MVT::v16i8, 5, 1, 2, 3, 14, 15,
   124,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 57, MVT::v8i16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi16),
                     MVT::v16i8, 5, 4, 5, 6, 7, 8,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VCMPi16),
                     MVT::i32, 6, 0, 9, 10, 11, 12, 13,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                     MVT::v8i16, 5, 1, 2, 3, 14, 15,
    57, MVT::v8f16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi16),
                     MVT::v16i8, 5, 4, 5, 6, 7, 8,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VCMPi16),
                     MVT::i32, 6, 0, 9, 10, 11, 12, 13,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                     MVT::v8f16, 5, 1, 2, 3, 14, 15,
    0,
   126,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_SwitchType , 57, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi32),
                     MVT::v16i8, 5, 4, 5, 6, 7, 8,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VCMPi32),
                     MVT::i32, 6, 0, 9, 10, 11, 12, 13,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                     MVT::v4i32, 5, 1, 2, 3, 14, 15,
    58, 4|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi32),
                     MVT::v16i8, 5, 4, 5, 6, 7, 8,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VCMPi32),
                     MVT::i32, 6, 0, 9, 10, 11, 12, 13,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                     4|128,1, 5, 1, 2, 3, 14, 15,
    0,
   0,
  0,
 115|128,14, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
  OPC_Scope, 51|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
   OPC_Scope, 63,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckChild2Integer, 0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckChild2Integer, 1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckChild2Integer, 2,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckChild2Integer, 3,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOV_q_rr),
                    MVT::v16i8, 7, 0, 1, 3, 5, 6, 7, 8,
    OPC_EmitIntegerI32, 3,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOV_q_rr),
                    MVT::v4i32, 7, 9, 2, 4, 10, 11, 12, 13,
   104,
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_Scope, 49,
     OPC_CheckChild2Integer, 1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckChild2Integer, 2,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckChild2Integer, 3,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOV_to_lane_32),
                     MVT::v16i8, 5, 0, 2, 4, 5, 6,
     OPC_EmitIntegerI32, 3,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOV_q_rr),
                     MVT::v4i32, 7, 7, 1, 3, 8, 9, 10, 11,
    49,
     OPC_CheckChild2Integer, 0,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckChild2Integer, 1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckChild2Integer, 2,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOV_to_lane_32),
                     MVT::v16i8, 5, 0, 2, 4, 5, 6,
     OPC_EmitIntegerI32, 2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOV_q_rr),
                     MVT::v4i32, 7, 7, 1, 3, 8, 9, 10, 11,
    0,
   0,
  85|128,1,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate, 24,
   OPC_CheckTypeI32,
   OPC_Scope, 66,
    OPC_CheckPredicate, 15,
    OPC_Scope, 30,
     OPC_CheckPredicate2,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1LNd8), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i8, 6, 4, 5, 0, 6, 7, 8,
    30,
     OPC_CheckPredicate3,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i16, 6, 4, 5, 0, 6, 7, 8,
    0,
   31,
    OPC_CheckPredicate, 17,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat7, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_EmitConvertToTarget3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v2i32, 6, 4, 5, 0, 6, 7, 8,
   66,
    OPC_CheckPredicate, 15,
    OPC_Scope, 30,
     OPC_CheckPredicate2,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1LNq8Pseudo), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i8, 6, 4, 5, 0, 6, 7, 8,
    30,
     OPC_CheckPredicate3,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat0, /*#*/2,
     OPC_EmitMergeInputChains1_1,
     OPC_EmitConvertToTarget3,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1LNq16Pseudo), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i16, 6, 4, 5, 0, 6, 7, 8,
    0,
   31,
    OPC_CheckPredicate, 17,
    OPC_MoveSibling2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_RecordNode,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat0, /*#*/2,
    OPC_EmitMergeInputChains1_1,
    OPC_EmitConvertToTarget3,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1LNq32Pseudo), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 6, 4, 5, 0, 6, 7, 8,
   0,
  68,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INSERT_VECTOR_ELT),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 29,
    OPC_CheckChild2Integer, 1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckChild2Integer, 3,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 3,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOV_q_rr),
                    MVT::v4i32, 7, 0, 1, 2, 3, 4, 5, 6,
   29,
    OPC_CheckChild2Integer, 0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckChild2Integer, 2,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOV_q_rr),
                    MVT::v4i32, 7, 0, 1, 2, 3, 4, 5, 6,
   0,
  30|128,11,
   OPC_RecordChild0,
   OPC_Scope, 41|128,1,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 86, TARGET_VAL(ARMISD::VGETLANEu),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 46,
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_CheckPredicate, 34,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitIntegerI32, 72|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     4|128,1, 2, 0, 4,
     OPC_EmitConvertToTarget3,
     OPC_EmitNodeXForm, 19, 6,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f32, 2, 0, 7,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 19, 9,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f32, 2, 1, 10,
     OPC_EmitNode1None, TARGET_VAL(ARM::VINSH),
                     MVT::f32, 2, 8, 11,
     OPC_EmitConvertToTarget3,
     OPC_EmitNodeXForm, 19, 13,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     4|128,1, 3, 5, 12, 14,
     OPC_EmitIntegerI32, 72|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8i16, 2, 15, 16,
    74, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 72|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     4|128,1, 2, 0, 4,
     OPC_EmitIntegerI32, 72|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     4|128,1, 2, 1, 6,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 18, 8,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f32, 2, 7, 9,
     OPC_EmitConvertToTarget3,
     OPC_EmitNodeXForm, 18, 11,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     4|128,1, 3, 5, 10, 12,
     OPC_EmitIntegerI32, 72|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v4i32, 2, 13, 14,
    0,
   29|128,2,
    OPC_RecordChild1,
    OPC_Scope, 45,
     OPC_CheckChild1TypeI32,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_SwitchType , 16, MVT::v8i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSETLNi8),
                      MVT::v8i8, 5, 0, 1, 3, 4, 5,
     16, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSETLNi16),
                      MVT::v4i16, 5, 0, 1, 3, 4, 5,
     0,
    45,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_SwitchType , 17, MVT::v2i32,
      OPC_CheckPatternPredicate, 34,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSETLNi32),
                      MVT::v2i32, 5, 0, 1, 3, 4, 5,
     16, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOV_to_lane_32),
                      MVT::v4i32, 5, 0, 1, 3, 4, 5,
     0,
    9|128,1,
     OPC_CheckChild1TypeI32,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_SwitchType , 62, MVT::v16i8,
      OPC_Scope, 16,
       OPC_CheckPatternPredicate0,
       OPC_EmitConvertToTarget2,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOV_to_lane_8),
                       MVT::v16i8, 5, 0, 1, 3, 4, 5,
      42,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget2,
       OPC_EmitNodeXForm, 16, 3,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v8i8, 2, 0, 4,
       OPC_EmitConvertToTarget2,
       OPC_EmitNodeXForm, 17, 6,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(ARM::VSETLNi8),
                       MVT::v8i8, 5, 5, 1, 7, 8, 9,
       OPC_EmitConvertToTarget2,
       OPC_EmitNodeXForm, 16, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v16i8, 3, 0, 10, 12,
      0,
     62, MVT::v8i16,
      OPC_Scope, 16,
       OPC_CheckPatternPredicate0,
       OPC_EmitConvertToTarget2,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOV_to_lane_16),
                       MVT::v8i16, 5, 0, 1, 3, 4, 5,
      42,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget2,
       OPC_EmitNodeXForm, 5, 3,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::v4i16, 2, 0, 4,
       OPC_EmitConvertToTarget2,
       OPC_EmitNodeXForm, 6, 6,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(ARM::VSETLNi16),
                       MVT::v4i16, 5, 5, 1, 7, 8, 9,
       OPC_EmitConvertToTarget2,
       OPC_EmitNodeXForm, 5, 11,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v8i16, 3, 0, 10, 12,
      0,
     0,
    50,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 7, 3,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::v2i32, 2, 0, 4,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 8, 6,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VSETLNi32),
                     MVT::v2i32, 5, 5, 1, 7, 8, 9,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 7, 11,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 0, 10, 12,
    0,
   56|128,4,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 55|128,1, TARGET_VAL(ISD::LOAD),
     OPC_RecordMemRef,
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckChild1TypeI32,
     OPC_CheckPredicate, 24,
     OPC_CheckPredicate, 17,
     OPC_SwitchType , 54, MVT::f16,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_SwitchType , 21, MVT::v4f16,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_1,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4f16, 6, 4, 5, 0, 6, 7, 8,
      21, MVT::v8f16,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_1,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1LNq16Pseudo), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v8f16, 6, 4, 5, 0, 6, 7, 8,
      0,
     54, MVT::bf16,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_SwitchType , 21, MVT::v4bf16,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_1,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v4bf16, 6, 4, 5, 0, 6, 7, 8,
      21, MVT::v8bf16,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_1,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1LNq16Pseudo), 0|OPFL_Chain|OPFL_MemRefs,
                       MVT::v8bf16, 6, 4, 5, 0, 6, 7, 8,
      0,
     58, MVT::f32,
      OPC_MoveSibling2,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_MoveParent,
      OPC_SwitchType , 22, 2|128,1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_1,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                       2|128,1, 6, 4, 5, 0, 6, 7, 8,
      22, 4|128,1,
       OPC_CheckPatternPredicate1,
       OPC_CheckComplexPat0, /*#*/2,
       OPC_EmitMergeInputChains1_1,
       OPC_EmitConvertToTarget3,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1LNq32Pseudo), 0|OPFL_Chain|OPFL_MemRefs,
                       4|128,1, 6, 4, 5, 0, 6, 7, 8,
      0,
     0,
    60|128,1, TARGET_VAL(ISD::STRICT_FP_ROUND),
     OPC_RecordNode,
     OPC_CheckFoldableChainNode,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::f32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_Scope, 87,
      OPC_CheckPredicate, 46,
      OPC_MoveParent,
      OPC_SwitchType , 39, MVT::v8f16,
       OPC_CheckPatternPredicate, 36,
       OPC_EmitMergeInputChains1_1,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 19, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f32, 2, 0, 5,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(ARM::VCVTBSH),
                       MVT::f32, 4, 6, 2, 7, 8,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 19, 10,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v8f16, 3, 0, 9, 11,
      39, MVT::v4f16,
       OPC_CheckPatternPredicate, 36,
       OPC_EmitMergeInputChains1_1,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 19, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f32, 2, 0, 5,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(ARM::VCVTBSH),
                       MVT::f32, 4, 6, 2, 7, 8,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 19, 10,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v4f16, 3, 0, 9, 11,
      0,
     87,
      OPC_CheckPredicate, 34,
      OPC_MoveParent,
      OPC_SwitchType , 39, MVT::v8f16,
       OPC_CheckPatternPredicate, 36,
       OPC_EmitMergeInputChains1_1,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 19, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f32, 2, 0, 5,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(ARM::VCVTTSH),
                       MVT::f32, 4, 6, 2, 7, 8,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 19, 10,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v8f16, 3, 0, 9, 11,
      39, MVT::v4f16,
       OPC_CheckPatternPredicate, 36,
       OPC_EmitMergeInputChains1_1,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 19, 4,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f32, 2, 0, 5,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(ARM::VCVTTSH),
                       MVT::f32, 4, 6, 2, 7, 8,
       OPC_EmitConvertToTarget3,
       OPC_EmitNodeXForm, 19, 10,
       OPC_MorphNodeTo1Chain, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v4f16, 3, 0, 9, 11,
      0,
     0,
    54|128,1, TARGET_VAL(ISD::FP_ROUND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::f32,
     OPC_MoveSibling2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_RecordNode,
     OPC_Scope, 85,
      OPC_CheckPredicate, 46,
      OPC_MoveParent,
      OPC_SwitchType , 38, MVT::v8f16,
       OPC_CheckPatternPredicate, 36,
       OPC_EmitConvertToTarget2,
       OPC_EmitNodeXForm, 19, 3,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f32, 2, 0, 4,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(ARM::VCVTBSH),
                       MVT::f32, 4, 5, 1, 6, 7,
       OPC_EmitConvertToTarget2,
       OPC_EmitNodeXForm, 19, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v8f16, 3, 0, 8, 10,
      38, MVT::v4f16,
       OPC_CheckPatternPredicate, 36,
       OPC_EmitConvertToTarget2,
       OPC_EmitNodeXForm, 19, 3,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f32, 2, 0, 4,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(ARM::VCVTBSH),
                       MVT::f32, 4, 5, 1, 6, 7,
       OPC_EmitConvertToTarget2,
       OPC_EmitNodeXForm, 19, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v4f16, 3, 0, 8, 10,
      0,
     85,
      OPC_CheckPredicate, 34,
      OPC_MoveParent,
      OPC_SwitchType , 38, MVT::v8f16,
       OPC_CheckPatternPredicate, 36,
       OPC_EmitConvertToTarget2,
       OPC_EmitNodeXForm, 19, 3,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f32, 2, 0, 4,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(ARM::VCVTTSH),
                       MVT::f32, 4, 5, 1, 6, 7,
       OPC_EmitConvertToTarget2,
       OPC_EmitNodeXForm, 19, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v8f16, 3, 0, 8, 10,
      38, MVT::v4f16,
       OPC_CheckPatternPredicate, 36,
       OPC_EmitConvertToTarget2,
       OPC_EmitNodeXForm, 19, 3,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                       MVT::f32, 2, 0, 4,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_EmitNode1None, TARGET_VAL(ARM::VCVTTSH),
                       MVT::f32, 4, 5, 1, 6, 7,
       OPC_EmitConvertToTarget2,
       OPC_EmitNodeXForm, 19, 9,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       MVT::v4f16, 3, 0, 8, 10,
      0,
     0,
    0,
   21|128,3,
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 30,
     OPC_CheckPredicate, 46,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, ARM::rGPRRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::i32, 2, 1, 3,
     OPC_EmitConvertToTarget2,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOV_to_lane_16),
                     MVT::v8f16, 5, 0, 4, 5, 6, 7,
    68,
     OPC_CheckPredicate, 34,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate, 11,
     OPC_EmitIntegerI32, 72|128,0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     4|128,1, 2, 0, 3,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 19, 5,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                     MVT::f32, 2, 0, 6,
     OPC_EmitIntegerI32, ARM::SPRRegClassID,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::f32, 2, 1, 8,
     OPC_EmitNode1None, TARGET_VAL(ARM::VINSH),
                     MVT::f32, 2, 7, 9,
     OPC_EmitConvertToTarget2,
     OPC_EmitNodeXForm, 19, 11,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     4|128,1, 3, 4, 10, 12,
     OPC_EmitIntegerI32, 72|128,0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                     MVT::v8f16, 2, 13, 14,
    39|128,2,
     OPC_MoveParent,
     OPC_SwitchType , 43, 22|128,1,
      OPC_Scope, 14,
       OPC_CheckPatternPredicate1,
       OPC_EmitConvertToTarget2,
       OPC_EmitNodeXForm, 20, 3,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       22|128,1, 3, 0, 1, 4,
      25,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 72|128,0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       22|128,1, 2, 0, 3,
       OPC_EmitConvertToTarget2,
       OPC_EmitNodeXForm, 20, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       22|128,1, 3, 4, 1, 6,
      0,
     24, 2|128,1,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, ARM::DPR_VFP2RegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      2|128,1, 2, 0, 3,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 18, 5,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      2|128,1, 3, 4, 1, 6,
     54, 4|128,1,
      OPC_Scope, 25,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 73|128,0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       4|128,1, 2, 0, 3,
       OPC_EmitConvertToTarget2,
       OPC_EmitNodeXForm, 18, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       4|128,1, 3, 4, 1, 6,
      25,
       OPC_CheckPatternPredicate0,
       OPC_EmitIntegerI32, 72|128,0,
       OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                       4|128,1, 2, 0, 3,
       OPC_EmitConvertToTarget2,
       OPC_EmitNodeXForm, 18, 5,
       OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                       4|128,1, 3, 4, 1, 6,
      0,
     25, MVT::v4f16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, ARM::GPRRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i32, 2, 1, 3,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSETLNi16),
                      MVT::v4f16, 5, 0, 4, 5, 6, 7,
     26, MVT::v4bf16,
      OPC_CheckPatternPredicate, 37,
      OPC_EmitIntegerI32, ARM::GPRRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i32, 2, 1, 3,
      OPC_EmitConvertToTarget2,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSETLNi16),
                      MVT::v4bf16, 5, 0, 4, 5, 6, 7,
     51, MVT::v8f16,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 5, 3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 0, 4,
      OPC_EmitIntegerI32, ARM::GPRRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i32, 2, 1, 6,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 6, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(ARM::VSETLNi16),
                      MVT::v4i16, 5, 5, 7, 9, 10, 11,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 5, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8f16, 3, 0, 12, 14,
     52, MVT::v8bf16,
      OPC_CheckPatternPredicate, 37,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 5, 3,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                      MVT::v4i16, 2, 0, 4,
      OPC_EmitIntegerI32, ARM::GPRRegClassID,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS),
                      MVT::i32, 2, 1, 6,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 6, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(ARM::VSETLNi16),
                      MVT::v4i16, 5, 5, 7, 9, 10, 11,
      OPC_EmitConvertToTarget2,
      OPC_EmitNodeXForm, 5, 13,
      OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                      MVT::v8bf16, 3, 0, 12, 14,
     0,
    0,
   0,
  0,
 14|128,3, TARGET_VAL(ISD::MLOAD),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_RecordChild1,
  OPC_CheckChild1TypeI32,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
  OPC_MoveParent,
  OPC_RecordChild3,
  OPC_Scope, 32,
   OPC_CheckChild3Type, MVT::v16i1,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 0,
   OPC_MoveParent,
   OPC_CheckPredicate, 80,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_CheckComplexPat5, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v16i8, 5, 3, 4, 5, 2, 6,
  8|128,1,
   OPC_CheckChild3Type, MVT::v8i1,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 0,
   OPC_MoveParent,
   OPC_SwitchType , 99, MVT::v8i16,
    OPC_Scope, 22,
     OPC_CheckPredicate, 81,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/14, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i16, 5, 3, 4, 5, 2, 6,
    73,
     OPC_CheckPredicate, 80,
     OPC_Scope, 22,
      OPC_CheckPredicate, 82,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/19, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU16), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i16, 5, 3, 4, 5, 2, 6,
     22,
      OPC_CheckPredicate, 83,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/19, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBS16), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i16, 5, 3, 4, 5, 2, 6,
     22,
      OPC_CheckPredicate, 84,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/19, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU16), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v8i16, 5, 3, 4, 5, 2, 6,
     0,
    0,
   22, MVT::v8f16,
    OPC_CheckPredicate, 81,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/14, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v8f16, 5, 3, 4, 5, 2, 6,
   0,
  85|128,1,
   OPC_CheckChild3Type, MVT::v4i1,
   OPC_MoveChild4,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 0,
   OPC_MoveParent,
   OPC_SwitchType , 45|128,1, MVT::v4i32,
    OPC_Scope, 22,
     OPC_CheckPredicate, 95,
     OPC_CheckPatternPredicate0,
     OPC_CheckComplexPat, /*CP*/15, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i32, 5, 3, 4, 5, 2, 6,
    73,
     OPC_CheckPredicate, 80,
     OPC_Scope, 22,
      OPC_CheckPredicate, 82,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/19, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU32), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 5, 3, 4, 5, 2, 6,
     22,
      OPC_CheckPredicate, 83,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/19, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBS32), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 5, 3, 4, 5, 2, 6,
     22,
      OPC_CheckPredicate, 84,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/19, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU32), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 5, 3, 4, 5, 2, 6,
     0,
    73,
     OPC_CheckPredicate, 81,
     OPC_Scope, 22,
      OPC_CheckPredicate, 82,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/27, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU32), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 5, 3, 4, 5, 2, 6,
     22,
      OPC_CheckPredicate, 83,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/27, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHS32), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 5, 3, 4, 5, 2, 6,
     22,
      OPC_CheckPredicate, 84,
      OPC_CheckPatternPredicate0,
      OPC_CheckComplexPat, /*CP*/27, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitIntegerI32, 1,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU32), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::v4i32, 5, 3, 4, 5, 2, 6,
     0,
    0,
   23, 4|128,1,
    OPC_CheckPredicate, 95,
    OPC_CheckPatternPredicate0,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                    4|128,1, 5, 3, 4, 5, 2, 6,
   0,
  0,
 13|128,6, TARGET_VAL(ARMISD::VDUP),
  OPC_Scope, 41|128,1,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_RecordChild1,
   OPC_CheckChild1TypeI32,
   OPC_CheckPredicate, 24,
   OPC_CheckTypeI32,
   OPC_Scope, 52,
    OPC_CheckPredicate, 15,
    OPC_Scope, 23,
     OPC_CheckPredicate2,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/43, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1DUPd8), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i8, 4, 2, 3, 4, 5,
    23,
     OPC_CheckPredicate3,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/44, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1DUPd16), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v4i16, 4, 2, 3, 4, 5,
    0,
   24,
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat, /*CP*/45, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1DUPd32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v2i32, 4, 2, 3, 4, 5,
   52,
    OPC_CheckPredicate, 15,
    OPC_Scope, 23,
     OPC_CheckPredicate2,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/43, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1DUPq8), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v16i8, 4, 2, 3, 4, 5,
    23,
     OPC_CheckPredicate3,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/44, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1DUPq16), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v8i16, 4, 2, 3, 4, 5,
    0,
   24,
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_CheckComplexPat, /*CP*/45, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1DUPq32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 4, 2, 3, 4, 5,
   0,
  64|128,1,
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_SwitchType , 13, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUP8d),
                    MVT::v8i8, 3, 0, 1, 2,
   13, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUP16d),
                    MVT::v4i16, 3, 0, 1, 2,
   33, MVT::v2i32,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate, 111,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUP32d),
                     MVT::v2i32, 3, 0, 1, 2,
    15,
     OPC_CheckPatternPredicate, 112,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVDRR),
                     MVT::v2i32, 4, 0, 0, 1, 2,
    0,
   39, MVT::v16i8,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUP8q),
                     MVT::v16i8, 3, 0, 1, 2,
    22,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VDUP8),
                     MVT::v16i8, 5, 0, 1, 2, 3, 4,
    0,
   39, MVT::v8i16,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUP16q),
                     MVT::v8i16, 3, 0, 1, 2,
    22,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VDUP16),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    0,
   39, MVT::v4i32,
    OPC_Scope, 13,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUP32q),
                     MVT::v4i32, 3, 0, 1, 2,
    22,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VDUP32),
                     MVT::v4i32, 5, 0, 1, 2, 3, 4,
    0,
   0,
  2|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 59, TARGET_VAL(ISD::LOAD),
    OPC_RecordMemRef,
    OPC_RecordNode,
    OPC_RecordChild1,
    OPC_CheckChild1TypeI32,
    OPC_CheckPredicate, 24,
    OPC_CheckPredicate, 17,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_SwitchType , 20, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/46, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1DUPd32), 0|OPFL_Chain|OPFL_MemRefs,
                     2|128,1, 4, 2, 3, 4, 5,
    20, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_CheckComplexPat, /*CP*/46, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1DUPq32), 0|OPFL_Chain|OPFL_MemRefs,
                     4|128,1, 4, 2, 3, 4, 5,
    0,
   62, TARGET_VAL(ISD::BITCAST),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_CheckType, MVT::f32,
    OPC_MoveParent,
    OPC_SwitchType , 35, 2|128,1,
     OPC_Scope, 15,
      OPC_CheckPatternPredicate, 111,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUP32d),
                      2|128,1, 3, 0, 1, 2,
     16,
      OPC_CheckPatternPredicate, 112,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVDRR),
                      2|128,1, 4, 0, 0, 1, 2,
     0,
    14, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUP32q),
                     4|128,1, 3, 0, 1, 2,
    0,
   0,
  24|128,2,
   OPC_RecordChild0,
   OPC_Scope, 53,
    OPC_CheckChild0TypeI32,
    OPC_SwitchType , 22, MVT::v8f16,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VDUP16),
                     MVT::v8f16, 5, 0, 1, 2, 3, 4,
    23, 4|128,1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VDUP32),
                     4|128,1, 5, 0, 1, 2, 3, 4,
    0,
   70,
    OPC_CheckChild0Type, MVT::f16,
    OPC_SwitchType , 31, MVT::v4f16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4f16, 0,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4f16, 3, 1, 0, 2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUPLN16d),
                     MVT::v4f16, 4, 3, 4, 5, 6,
    31, MVT::v8f16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4f16, 0,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4f16, 3, 1, 0, 2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUPLN16q),
                     MVT::v8f16, 4, 3, 4, 5, 6,
    0,
   78,
    OPC_CheckChild0Type, MVT::f32,
    OPC_SwitchType , 34, 2|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     2|128,1, 0,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     2|128,1, 3, 1, 0, 2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUPLN32d),
                     2|128,1, 4, 3, 4, 5, 6,
    34, 4|128,1,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     2|128,1, 0,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     2|128,1, 3, 1, 0, 2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUPLN32q),
                     4|128,1, 4, 3, 4, 5, 6,
    0,
   72,
    OPC_CheckChild0Type, MVT::bf16,
    OPC_SwitchType , 32, MVT::v4bf16,
     OPC_CheckPatternPredicate, 37,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4bf16, 0,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4bf16, 3, 1, 0, 2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUPLN16d),
                     MVT::v4bf16, 4, 3, 4, 5, 6,
    32, MVT::v8bf16,
     OPC_CheckPatternPredicate, 37,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4bf16, 0,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4bf16, 3, 1, 0, 2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUPLN16q),
                     MVT::v8bf16, 4, 3, 4, 5, 6,
    0,
   0,
  0,
 106|128,1, TARGET_VAL(ARMISD::VBICIMM),
  OPC_Scope, 83,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 37, TARGET_VAL(ARMISD::VECTOR_REG_CAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV16),
    OPC_RecordChild0,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 127|128,21,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVLu8th),
                    MVT::v8i16, 5, 0, 1, 2, 3, 4,
   37, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV16),
    OPC_RecordChild0,
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_CheckPredicate5,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 127|128,21,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVLu8th),
                    MVT::v8i16, 5, 0, 1, 2, 3, 4,
   0,
  18|128,1,
   OPC_RecordChild0,
   OPC_Scope, 27,
    OPC_CheckChild1Integer, 127|128,21,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVLu8bh),
                    MVT::v8i16, 5, 0, 1, 2, 3, 4,
   114,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_SwitchType , 14, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICiv4i16),
                     MVT::v4i16, 4, 1, 0, 2, 3,
    14, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICiv2i32),
                     MVT::v2i32, 4, 1, 0, 2, 3,
    35, MVT::v8i16,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICiv8i16),
                      MVT::v8i16, 4, 1, 0, 2, 3,
     17,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBICimmi16),
                      MVT::v8i16, 5, 0, 1, 2, 3, 4,
     0,
    35, MVT::v4i32,
     OPC_Scope, 14,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBICiv4i32),
                      MVT::v4i32, 4, 1, 0, 2, 3,
     17,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VBICimmi32),
                      MVT::v4i32, 5, 0, 1, 2, 3, 4,
     0,
    0,
   0,
  0,
 105|128,1, TARGET_VAL(ARMISD::VQMOVNs),
  OPC_RecordChild0,
  OPC_Scope, 4|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VSHRsIMM),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 29,
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckChild2Integer, 0,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRNbhs32),
                    MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
   29,
    OPC_CheckPredicate, 23,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_MoveParent,
    OPC_CheckChild2Integer, 0,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRNbhs16),
                    MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
   29,
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckChild2Integer, 1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRNths32),
                    MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
   29,
    OPC_CheckPredicate, 23,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_MoveParent,
    OPC_CheckChild2Integer, 1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRNths16),
                    MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
   0,
  95,
   OPC_RecordChild1,
   OPC_SwitchType , 44, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 19,
     OPC_CheckChild2Integer, 0,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVNs32bh),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    19,
     OPC_CheckChild2Integer, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVNs32th),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    0,
   44, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 19,
     OPC_CheckChild2Integer, 0,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVNs16bh),
                     MVT::v16i8, 5, 0, 1, 2, 3, 4,
    19,
     OPC_CheckChild2Integer, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVNs16th),
                     MVT::v16i8, 5, 0, 1, 2, 3, 4,
    0,
   0,
  0,
 105|128,1, TARGET_VAL(ARMISD::VQMOVNu),
  OPC_RecordChild0,
  OPC_Scope, 4|128,1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VSHRuIMM),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 29,
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckChild2Integer, 0,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRNbhu32),
                    MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
   29,
    OPC_CheckPredicate, 23,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_MoveParent,
    OPC_CheckChild2Integer, 0,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRNbhu16),
                    MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
   29,
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_MoveParent,
    OPC_CheckChild2Integer, 1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRNthu32),
                    MVT::v8i16, 6, 0, 1, 3, 4, 5, 6,
   29,
    OPC_CheckPredicate, 23,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_MoveParent,
    OPC_CheckChild2Integer, 1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSHRNthu16),
                    MVT::v16i8, 6, 0, 1, 3, 4, 5, 6,
   0,
  95,
   OPC_RecordChild1,
   OPC_SwitchType , 44, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 19,
     OPC_CheckChild2Integer, 0,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVNu32bh),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    19,
     OPC_CheckChild2Integer, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVNu32th),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    0,
   44, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 19,
     OPC_CheckChild2Integer, 0,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVNu16bh),
                     MVT::v16i8, 5, 0, 1, 2, 3, 4,
    19,
     OPC_CheckChild2Integer, 1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQMOVNu16th),
                     MVT::v16i8, 5, 0, 1, 2, 3, 4,
    0,
   0,
  0,
 105|128,4, TARGET_VAL(ARMISD::VSHRsIMM),
  OPC_Scope, 116|128,2,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 56|128,1, TARGET_VAL(ISD::ADD),
    OPC_Scope, 90,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate, 68,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 1,
     OPC_SwitchType , 23, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s8),
                      MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
     23, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s16),
                      MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
     23, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s32),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     0,
    90,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate, 68,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 1,
     OPC_SwitchType , 23, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s8),
                      MVT::v16i8, 6, 1, 0, 2, 3, 4, 5,
     23, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s16),
                      MVT::v8i16, 6, 1, 0, 2, 3, 4, 5,
     23, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s32),
                      MVT::v4i32, 6, 1, 0, 2, 3, 4, 5,
     0,
    0,
   49|128,1, TARGET_VAL(ISD::SUB),
    OPC_RecordChild0,
    OPC_Scope, 89,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate, 68,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 1,
     OPC_SwitchType , 23, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUB_qr_s8),
                      MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
     23, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUB_qr_s16),
                      MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
     23, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUB_qr_s32),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     0,
    83,
     OPC_RecordChild1,
     OPC_CheckPredicate, 68,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 1,
     OPC_SwitchType , 23, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUBs8),
                      MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
     23, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUBs16),
                      MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
     23, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUBs32),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     0,
    0,
   0,
  111|128,1,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 29,
    OPC_CheckPredicate, 28,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHR_imms8),
                    MVT::v16i8, 6, 0, 2, 3, 4, 5, 6,
   29,
    OPC_CheckPredicate, 23,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHR_imms16),
                    MVT::v8i16, 6, 0, 2, 3, 4, 5, 6,
   29,
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHR_imms32),
                    MVT::v4i32, 6, 0, 2, 3, 4, 5, 6,
   11|128,1,
    OPC_MoveParent,
    OPC_SwitchType , 15, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHRsv8i8),
                     MVT::v8i8, 4, 0, 2, 3, 4,
    15, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHRsv4i16),
                     MVT::v4i16, 4, 0, 2, 3, 4,
    15, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHRsv2i32),
                     MVT::v2i32, 4, 0, 2, 3, 4,
    15, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHRsv1i64),
                     MVT::v1i64, 4, 0, 2, 3, 4,
    15, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHRsv16i8),
                     MVT::v16i8, 4, 0, 2, 3, 4,
    15, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHRsv8i16),
                     MVT::v8i16, 4, 0, 2, 3, 4,
    15, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHRsv4i32),
                     MVT::v4i32, 4, 0, 2, 3, 4,
    15, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHRsv2i64),
                     MVT::v2i64, 4, 0, 2, 3, 4,
    0,
   0,
  0,
 105|128,4, TARGET_VAL(ARMISD::VSHRuIMM),
  OPC_Scope, 116|128,2,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 56|128,1, TARGET_VAL(ISD::ADD),
    OPC_Scope, 90,
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate, 69,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 1,
     OPC_SwitchType , 23, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u8),
                      MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
     23, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u16),
                      MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
     23, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u32),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     0,
    90,
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPredicate, 69,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 1,
     OPC_SwitchType , 23, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u8),
                      MVT::v16i8, 6, 1, 0, 2, 3, 4, 5,
     23, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u16),
                      MVT::v8i16, 6, 1, 0, 2, 3, 4, 5,
     23, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u32),
                      MVT::v4i32, 6, 1, 0, 2, 3, 4, 5,
     0,
    0,
   49|128,1, TARGET_VAL(ISD::SUB),
    OPC_RecordChild0,
    OPC_Scope, 89,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0TypeI32,
     OPC_MoveParent,
     OPC_CheckPredicate, 69,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 1,
     OPC_SwitchType , 23, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUB_qr_u8),
                      MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
     23, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUB_qr_u16),
                      MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
     23, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUB_qr_u32),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     0,
    83,
     OPC_RecordChild1,
     OPC_CheckPredicate, 69,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 1,
     OPC_SwitchType , 23, MVT::v16i8,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUBu8),
                      MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
     23, MVT::v8i16,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUBu16),
                      MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
     23, MVT::v4i32,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                      MVT::v4i32, 0,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHSUBu32),
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
     0,
    0,
   0,
  111|128,1,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 29,
    OPC_CheckPredicate, 28,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHR_immu8),
                    MVT::v16i8, 6, 0, 2, 3, 4, 5, 6,
   29,
    OPC_CheckPredicate, 23,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHR_immu16),
                    MVT::v8i16, 6, 0, 2, 3, 4, 5, 6,
   29,
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHR_immu32),
                    MVT::v4i32, 6, 0, 2, 3, 4, 5, 6,
   11|128,1,
    OPC_MoveParent,
    OPC_SwitchType , 15, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHRuv8i8),
                     MVT::v8i8, 4, 0, 2, 3, 4,
    15, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHRuv4i16),
                     MVT::v4i16, 4, 0, 2, 3, 4,
    15, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHRuv2i32),
                     MVT::v2i32, 4, 0, 2, 3, 4,
    15, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHRuv1i64),
                     MVT::v1i64, 4, 0, 2, 3, 4,
    15, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHRuv16i8),
                     MVT::v16i8, 4, 0, 2, 3, 4,
    15, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHRuv8i16),
                     MVT::v8i16, 4, 0, 2, 3, 4,
    15, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHRuv4i32),
                     MVT::v4i32, 4, 0, 2, 3, 4,
    15, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHRuv2i64),
                     MVT::v2i64, 4, 0, 2, 3, 4,
    0,
   0,
  0,
 119|128,2, TARGET_VAL(ISD::TRUNCATE),
  OPC_Scope, 62|128,2,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 102|128,1, TARGET_VAL(ARMISD::VSHRuIMM),
    OPC_Scope, 19|128,1,
     OPC_MoveChild0,
     OPC_SwitchOpcode , 69, TARGET_VAL(ISD::ADD),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_Scope, 21,
       OPC_CheckChild1Integer, 8,
       OPC_CheckType, MVT::v8i16,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDHNv8i8),
                       MVT::v8i8, 4, 0, 1, 2, 3,
      21,
       OPC_CheckChild1Integer, 16,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDHNv4i16),
                       MVT::v4i16, 4, 0, 1, 2, 3,
      19,
       OPC_CheckChild1Integer, 32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VADDHNv2i32),
                       MVT::v2i32, 4, 0, 1, 2, 3,
      0,
     69, TARGET_VAL(ISD::SUB),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_Scope, 21,
       OPC_CheckChild1Integer, 8,
       OPC_CheckType, MVT::v8i16,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBHNv8i8),
                       MVT::v8i8, 4, 0, 1, 2, 3,
      21,
       OPC_CheckChild1Integer, 16,
       OPC_CheckType, MVT::v4i32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBHNv4i16),
                       MVT::v4i16, 4, 0, 1, 2, 3,
      19,
       OPC_CheckChild1Integer, 32,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate1,
       OPC_EmitIntegerI32, 14,
       OPC_EmitRegisterI32, 0 ,
       OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSUBHNv2i32),
                       MVT::v2i32, 4, 0, 1, 2, 3,
      0,
     0,
    78,
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 23,
      OPC_CheckPredicate, 29,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHRNv8i8),
                      MVT::v8i8, 4, 0, 2, 3, 4,
     23,
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHRNv4i16),
                      MVT::v4i16, 4, 0, 2, 3, 4,
     21,
      OPC_CheckPredicate, 19,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHRNv2i32),
                      MVT::v2i32, 4, 0, 2, 3, 4,
     0,
    0,
   78, TARGET_VAL(ARMISD::VSHRsIMM),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 23,
     OPC_CheckPredicate, 29,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHRNv8i8),
                     MVT::v8i8, 4, 0, 2, 3, 4,
    23,
     OPC_CheckPredicate, 30,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHRNv4i16),
                     MVT::v4i16, 4, 0, 2, 3, 4,
    21,
     OPC_CheckPredicate, 19,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHRNv2i32),
                     MVT::v2i32, 4, 0, 2, 3, 4,
    0,
   0,
  52,
   OPC_RecordChild0,
   OPC_SwitchType , 15, MVT::v8i8,
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVNv8i8),
                    MVT::v8i8, 3, 0, 1, 2,
   15, MVT::v4i16,
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVNv4i16),
                    MVT::v4i16, 3, 0, 1, 2,
   13, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVNv2i32),
                    MVT::v2i32, 3, 0, 1, 2,
   0,
  0,
 18|128,5, TARGET_VAL(ARMISD::VSHLIMM),
  OPC_Scope, 29|128,3,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 34|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 52,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_Scope, 21,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 8,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLLi8),
                      MVT::v8i16, 4, 0, 1, 2, 3,
     25,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 96,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLLuv8i16),
                      MVT::v8i16, 4, 0, 2, 3, 4,
     0,
    52,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_Scope, 21,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 16,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 16,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLLi16),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     25,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 54,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLLuv4i32),
                      MVT::v4i32, 4, 0, 2, 3, 4,
     0,
    52,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_Scope, 21,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 32,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 32,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLLi32),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     25,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 66,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLLuv2i64),
                      MVT::v2i64, 4, 0, 2, 3, 4,
     0,
    0,
   34|128,1, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 52,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_Scope, 21,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 8,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 8,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLLi8),
                      MVT::v8i16, 4, 0, 1, 2, 3,
     25,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 96,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLLsv8i16),
                      MVT::v8i16, 4, 0, 2, 3, 4,
     0,
    52,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_Scope, 21,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 16,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 16,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLLi16),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     25,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 54,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLLsv4i32),
                      MVT::v4i32, 4, 0, 2, 3, 4,
     0,
    52,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_Scope, 21,
      OPC_MoveParent,
      OPC_CheckChild1Integer, 32,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 32,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLLi32),
                      MVT::v2i64, 4, 0, 1, 2, 3,
     25,
      OPC_MoveSibling1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_RecordNode,
      OPC_CheckPredicate, 66,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate1,
      OPC_EmitConvertToTarget1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLLsv2i64),
                      MVT::v2i64, 4, 0, 2, 3, 4,
     0,
    0,
   75, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 23,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 8,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 8,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLLi8),
                     MVT::v8i16, 4, 0, 1, 2, 3,
    23,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 16,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 16,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLLi16),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    23,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 32,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 32,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLLi32),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    0,
   0,
  111|128,1,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 29,
    OPC_CheckPredicate, 28,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_immi8),
                    MVT::v16i8, 6, 0, 2, 3, 4, 5, 6,
   29,
    OPC_CheckPredicate, 23,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_immi16),
                    MVT::v8i16, 6, 0, 2, 3, 4, 5, 6,
   29,
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_immi32),
                    MVT::v4i32, 6, 0, 2, 3, 4, 5, 6,
   11|128,1,
    OPC_MoveParent,
    OPC_SwitchType , 15, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLiv8i8),
                     MVT::v8i8, 4, 0, 2, 3, 4,
    15, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLiv4i16),
                     MVT::v4i16, 4, 0, 2, 3, 4,
    15, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLiv2i32),
                     MVT::v2i32, 4, 0, 2, 3, 4,
    15, MVT::v1i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLiv1i64),
                     MVT::v1i64, 4, 0, 2, 3, 4,
    15, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLiv16i8),
                     MVT::v16i8, 4, 0, 2, 3, 4,
    15, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLiv8i16),
                     MVT::v8i16, 4, 0, 2, 3, 4,
    15, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLiv4i32),
                     MVT::v4i32, 4, 0, 2, 3, 4,
    15, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitConvertToTarget1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLiv2i64),
                     MVT::v2i64, 4, 0, 2, 3, 4,
    0,
   0,
  0,
 39|128,21, TARGET_VAL(ARMISD::VCMP),
  OPC_RecordChild0,
  OPC_Scope, 0|128,4,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_Scope, 75|128,1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i1,
    OPC_Scope, 23,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi8r),
                     MVT::v16i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 1,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi8r),
                     MVT::v16i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 10,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 10,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8r),
                     MVT::v16i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 11,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8r),
                     MVT::v16i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 12,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 12,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8r),
                     MVT::v16i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 13,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 13,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8r),
                     MVT::v16i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 8,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 8,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu8r),
                     MVT::v16i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu8r),
                     MVT::v16i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   45|128,2,
    OPC_RecordChild1,
    OPC_Scope, 43,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI32,
     OPC_SwitchType , 14, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCEQv16i8),
                      MVT::v16i8, 4, 0, 1, 2, 3,
     20, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi8),
                      MVT::v16i1, 6, 0, 1, 2, 3, 4, 5,
     0,
    43,
     OPC_CheckChild2Integer, 10,
     OPC_CheckChild2TypeI32,
     OPC_SwitchType , 14, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEsv16i8),
                      MVT::v16i8, 4, 0, 1, 2, 3,
     20, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8),
                      MVT::v16i1, 6, 0, 1, 2, 3, 4, 5,
     0,
    43,
     OPC_CheckChild2Integer, 2,
     OPC_CheckChild2TypeI32,
     OPC_SwitchType , 14, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEuv16i8),
                      MVT::v16i8, 4, 0, 1, 2, 3,
     20, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu8),
                      MVT::v16i1, 6, 0, 1, 2, 3, 4, 5,
     0,
    43,
     OPC_CheckChild2Integer, 12,
     OPC_CheckChild2TypeI32,
     OPC_SwitchType , 14, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGTsv16i8),
                      MVT::v16i8, 4, 0, 1, 2, 3,
     20, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8),
                      MVT::v16i1, 6, 0, 1, 2, 3, 4, 5,
     0,
    43,
     OPC_CheckChild2Integer, 8,
     OPC_CheckChild2TypeI32,
     OPC_SwitchType , 14, MVT::v16i8,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGTuv16i8),
                      MVT::v16i8, 4, 0, 1, 2, 3,
     20, MVT::v16i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 8,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu8),
                      MVT::v16i1, 6, 0, 1, 2, 3, 4, 5,
     0,
    25,
     OPC_CheckChild2Integer, 1,
     OPC_CheckChild2TypeI32,
     OPC_CheckType, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi8),
                     MVT::v16i1, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_CheckChild2Integer, 11,
     OPC_CheckChild2TypeI32,
     OPC_CheckType, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8),
                     MVT::v16i1, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_CheckChild2Integer, 13,
     OPC_CheckChild2TypeI32,
     OPC_CheckType, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 13,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8),
                     MVT::v16i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  0|128,4,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_Scope, 75|128,1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i1,
    OPC_Scope, 23,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 1,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 10,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 10,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 11,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 12,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 12,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 13,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 13,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 8,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 8,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   45|128,2,
    OPC_RecordChild1,
    OPC_Scope, 43,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI32,
     OPC_SwitchType , 14, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCEQv8i16),
                      MVT::v8i16, 4, 0, 1, 2, 3,
     20, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi16),
                      MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
     0,
    43,
     OPC_CheckChild2Integer, 10,
     OPC_CheckChild2TypeI32,
     OPC_SwitchType , 14, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEsv8i16),
                      MVT::v8i16, 4, 0, 1, 2, 3,
     20, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16),
                      MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
     0,
    43,
     OPC_CheckChild2Integer, 2,
     OPC_CheckChild2TypeI32,
     OPC_SwitchType , 14, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEuv8i16),
                      MVT::v8i16, 4, 0, 1, 2, 3,
     20, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu16),
                      MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
     0,
    43,
     OPC_CheckChild2Integer, 12,
     OPC_CheckChild2TypeI32,
     OPC_SwitchType , 14, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGTsv8i16),
                      MVT::v8i16, 4, 0, 1, 2, 3,
     20, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16),
                      MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
     0,
    43,
     OPC_CheckChild2Integer, 8,
     OPC_CheckChild2TypeI32,
     OPC_SwitchType , 14, MVT::v8i16,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGTuv8i16),
                      MVT::v8i16, 4, 0, 1, 2, 3,
     20, MVT::v8i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 8,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu16),
                      MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
     0,
    25,
     OPC_CheckChild2Integer, 1,
     OPC_CheckChild2TypeI32,
     OPC_CheckType, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi16),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_CheckChild2Integer, 11,
     OPC_CheckChild2TypeI32,
     OPC_CheckType, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_CheckChild2Integer, 13,
     OPC_CheckChild2TypeI32,
     OPC_CheckType, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 13,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  0|128,4,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_Scope, 75|128,1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i1,
    OPC_Scope, 23,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 1,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 10,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 10,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 11,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 12,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 12,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 13,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 13,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 8,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 8,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 2,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   45|128,2,
    OPC_RecordChild1,
    OPC_Scope, 43,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI32,
     OPC_SwitchType , 14, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCEQv4i32),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     20, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi32),
                      MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
     0,
    43,
     OPC_CheckChild2Integer, 10,
     OPC_CheckChild2TypeI32,
     OPC_SwitchType , 14, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEsv4i32),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     20, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32),
                      MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
     0,
    43,
     OPC_CheckChild2Integer, 2,
     OPC_CheckChild2TypeI32,
     OPC_SwitchType , 14, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEuv4i32),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     20, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu32),
                      MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
     0,
    43,
     OPC_CheckChild2Integer, 12,
     OPC_CheckChild2TypeI32,
     OPC_SwitchType , 14, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGTsv4i32),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     20, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32),
                      MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
     0,
    43,
     OPC_CheckChild2Integer, 8,
     OPC_CheckChild2TypeI32,
     OPC_SwitchType , 14, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGTuv4i32),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     20, MVT::v4i1,
      OPC_CheckPatternPredicate0,
      OPC_EmitIntegerI32, 8,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu32),
                      MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
     0,
    25,
     OPC_CheckChild2Integer, 1,
     OPC_CheckChild2TypeI32,
     OPC_CheckType, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi32),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_CheckChild2Integer, 11,
     OPC_CheckChild2TypeI32,
     OPC_CheckType, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_CheckChild2Integer, 13,
     OPC_CheckChild2TypeI32,
     OPC_CheckType, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 13,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  123|128,2,
   OPC_CheckChild0Type, MVT::v8f16,
   OPC_Scope, 27|128,1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i1,
    OPC_Scope, 23,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 1,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 10,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 10,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 11,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 12,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 12,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 13,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 13,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   88|128,1,
    OPC_RecordChild1,
    OPC_Scope, 44,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI32,
     OPC_SwitchType , 15, MVT::v8i16,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCEQhq),
                      MVT::v8i16, 4, 0, 1, 2, 3,
     20, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
     0,
    44,
     OPC_CheckChild2Integer, 10,
     OPC_CheckChild2TypeI32,
     OPC_SwitchType , 15, MVT::v8i16,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEhq),
                      MVT::v8i16, 4, 0, 1, 2, 3,
     20, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
     0,
    44,
     OPC_CheckChild2Integer, 12,
     OPC_CheckChild2TypeI32,
     OPC_SwitchType , 15, MVT::v8i16,
      OPC_CheckPatternPredicate, 13,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGThq),
                      MVT::v8i16, 4, 0, 1, 2, 3,
     20, MVT::v8i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                      MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
     0,
    25,
     OPC_CheckChild2Integer, 1,
     OPC_CheckChild2TypeI32,
     OPC_CheckType, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_CheckChild2Integer, 11,
     OPC_CheckChild2TypeI32,
     OPC_CheckType, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_CheckChild2Integer, 13,
     OPC_CheckChild2TypeI32,
     OPC_CheckType, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 13,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  121|128,2,
   OPC_CheckChild0Type, 4|128,1,
   OPC_Scope, 27|128,1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0TypeI32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i1,
    OPC_Scope, 23,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 1,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 10,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 10,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 11,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 12,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 12,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    23,
     OPC_CheckChild2Integer, 13,
     OPC_CheckChild2TypeI32,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 13,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   85|128,1,
    OPC_RecordChild1,
    OPC_Scope, 43,
     OPC_CheckChild2Integer, 0,
     OPC_CheckChild2TypeI32,
     OPC_SwitchType , 14, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCEQfq),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     20, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 0,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
     0,
    43,
     OPC_CheckChild2Integer, 10,
     OPC_CheckChild2TypeI32,
     OPC_SwitchType , 14, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEfq),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     20, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 10,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
     0,
    43,
     OPC_CheckChild2Integer, 12,
     OPC_CheckChild2TypeI32,
     OPC_SwitchType , 14, MVT::v4i32,
      OPC_CheckPatternPredicate1,
      OPC_EmitIntegerI32, 14,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGTfq),
                      MVT::v4i32, 4, 0, 1, 2, 3,
     20, MVT::v4i1,
      OPC_CheckPatternPredicate2,
      OPC_EmitIntegerI32, 12,
      OPC_EmitIntegerI32, 0,
      OPC_EmitRegisterI32, 0 ,
      OPC_EmitRegisterI32, 0 ,
      OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                      MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
     0,
    25,
     OPC_CheckChild2Integer, 1,
     OPC_CheckChild2TypeI32,
     OPC_CheckType, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_CheckChild2Integer, 11,
     OPC_CheckChild2TypeI32,
     OPC_CheckType, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    25,
     OPC_CheckChild2Integer, 13,
     OPC_CheckChild2TypeI32,
     OPC_CheckType, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitIntegerI32, 13,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  97,
   OPC_CheckChild0Type, MVT::v8i8,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v8i8,
   OPC_Scope, 17,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCEQv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   17,
    OPC_CheckChild2Integer, 10,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEsv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   17,
    OPC_CheckChild2Integer, 2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEuv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   17,
    OPC_CheckChild2Integer, 12,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGTsv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   17,
    OPC_CheckChild2Integer, 8,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGTuv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   0,
  97,
   OPC_CheckChild0Type, MVT::v4i16,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v4i16,
   OPC_Scope, 17,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCEQv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   17,
    OPC_CheckChild2Integer, 10,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEsv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   17,
    OPC_CheckChild2Integer, 2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEuv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   17,
    OPC_CheckChild2Integer, 12,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGTsv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   17,
    OPC_CheckChild2Integer, 8,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGTuv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   0,
  97,
   OPC_CheckChild0Type, MVT::v2i32,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v2i32,
   OPC_Scope, 17,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCEQv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   17,
    OPC_CheckChild2Integer, 10,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEsv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   17,
    OPC_CheckChild2Integer, 2,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEuv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   17,
    OPC_CheckChild2Integer, 12,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGTsv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   17,
    OPC_CheckChild2Integer, 8,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGTuv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   0,
  62,
   OPC_CheckChild0Type, 2|128,1,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v2i32,
   OPC_Scope, 17,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCEQfd),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   17,
    OPC_CheckChild2Integer, 10,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEfd),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   17,
    OPC_CheckChild2Integer, 12,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGTfd),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   0,
  64,
   OPC_CheckChild0Type, MVT::v4f16,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v4i16,
   OPC_Scope, 18,
    OPC_CheckChild2Integer, 0,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCEQhd),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   18,
    OPC_CheckChild2Integer, 10,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEhd),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   18,
    OPC_CheckChild2Integer, 12,
    OPC_CheckChild2TypeI32,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGThd),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   0,
  0,
 15|128,1, TARGET_VAL(ARMISD::VMOVN),
  OPC_RecordChild0,
  OPC_Scope, 53,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 22, TARGET_VAL(ARMISD::VREV32),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckChild2Integer, 1,
    OPC_CheckType, MVT::v8i16,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVNi32bh),
                    MVT::v8i16, 5, 1, 0, 2, 3, 4,
   22, TARGET_VAL(ARMISD::VREV16),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckChild2Integer, 1,
    OPC_CheckType, MVT::v16i8,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVNi16bh),
                    MVT::v16i8, 5, 1, 0, 2, 3, 4,
   0,
  85,
   OPC_RecordChild1,
   OPC_Scope, 40,
    OPC_CheckChild2Integer, 0,
    OPC_SwitchType , 16, MVT::v8i16,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVNi32bh),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    16, MVT::v16i8,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVNi16bh),
                     MVT::v16i8, 5, 0, 1, 2, 3, 4,
    0,
   40,
    OPC_CheckChild2Integer, 1,
    OPC_SwitchType , 16, MVT::v8i16,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVNi32th),
                     MVT::v8i16, 5, 0, 1, 2, 3, 4,
    16, MVT::v16i8,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVNi16th),
                     MVT::v16i8, 5, 0, 1, 2, 3, 4,
    0,
   0,
  0,
 122, TARGET_VAL(ISD::INSERT_SUBVECTOR),
  OPC_MoveChild0,
  OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
  OPC_MoveParent,
  OPC_RecordChild1,
  OPC_CheckChild2Integer, 0,
  OPC_CheckChild2TypeI32,
  OPC_SwitchType , 16, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v2i64, 0,
   OPC_EmitIntegerI32, ARM::dsub_0,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v2i64, 3, 1, 0, 2,
  16, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_EmitIntegerI32, ARM::dsub_0,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v4i32, 3, 1, 0, 2,
  16, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v8i16, 0,
   OPC_EmitIntegerI32, ARM::dsub_0,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v8i16, 3, 1, 0, 2,
  16, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v16i8, 0,
   OPC_EmitIntegerI32, ARM::dsub_0,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v16i8, 3, 1, 0, 2,
  18, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   4|128,1, 0,
   OPC_EmitIntegerI32, ARM::dsub_0,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   4|128,1, 3, 1, 0, 2,
  16, MVT::v8f16,
   OPC_CheckPatternPredicate1,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v8f16, 0,
   OPC_EmitIntegerI32, ARM::dsub_0,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                   MVT::v8f16, 3, 1, 0, 2,
  0,
 78|128,1, TARGET_VAL(ARMISD::VMULLs),
  OPC_Scope, 73,
   OPC_RecordChild0,
   OPC_Scope, 34,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULLslsv4i16),
                    MVT::v4i32, 5, 0, 1, 3, 4, 5,
   34,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULLslsv2i32),
                    MVT::v2i64, 5, 0, 1, 3, 4, 5,
   0,
  38,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV64),
   OPC_RecordChild0,
   OPC_CheckType, MVT::v4i32,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV64),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTs32),
                   MVT::v2i64, 6, 0, 1, 2, 3, 4, 5,
  90,
   OPC_RecordChild0,
   OPC_SwitchType , 17, MVT::v8i16,
    OPC_CheckChild0Type, MVT::v8i8,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULLsv8i16),
                    MVT::v8i16, 4, 0, 1, 2, 3,
   17, MVT::v4i32,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULLsv4i32),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   47, MVT::v2i64,
    OPC_Scope, 17,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULLsv2i64),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    26,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLBs32),
                     MVT::v2i64, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  0,
 78|128,1, TARGET_VAL(ARMISD::VMULLu),
  OPC_Scope, 73,
   OPC_RecordChild0,
   OPC_Scope, 34,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULLsluv4i16),
                    MVT::v4i32, 5, 0, 1, 3, 4, 5,
   34,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget2,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULLsluv2i32),
                    MVT::v2i64, 5, 0, 1, 3, 4, 5,
   0,
  38,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV64),
   OPC_RecordChild0,
   OPC_CheckType, MVT::v4i32,
   OPC_MoveSibling1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV64),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLTu32),
                   MVT::v2i64, 6, 0, 1, 2, 3, 4, 5,
  90,
   OPC_RecordChild0,
   OPC_SwitchType , 17, MVT::v8i16,
    OPC_CheckChild0Type, MVT::v8i8,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULLuv8i16),
                    MVT::v8i16, 4, 0, 1, 2, 3,
   17, MVT::v4i32,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULLuv4i32),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   47, MVT::v2i64,
    OPC_Scope, 17,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMULLuv2i64),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    26,
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULLBu32),
                     MVT::v2i64, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  0,
 18|128,15, TARGET_VAL(ARMISD::VCMPZ),
  OPC_RecordChild0,
  OPC_Scope, 91,
   OPC_CheckChild0Type, MVT::v8i8,
   OPC_CheckType, MVT::v8i8,
   OPC_Scope, 16,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCEQzv8i8),
                    MVT::v8i8, 3, 0, 1, 2,
   16,
    OPC_CheckChild1Integer, 10,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEzv8i8),
                    MVT::v8i8, 3, 0, 1, 2,
   16,
    OPC_CheckChild1Integer, 13,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLEzv8i8),
                    MVT::v8i8, 3, 0, 1, 2,
   16,
    OPC_CheckChild1Integer, 12,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGTzv8i8),
                    MVT::v8i8, 3, 0, 1, 2,
   16,
    OPC_CheckChild1Integer, 11,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLTzv8i8),
                    MVT::v8i8, 3, 0, 1, 2,
   0,
  91,
   OPC_CheckChild0Type, MVT::v4i16,
   OPC_CheckType, MVT::v4i16,
   OPC_Scope, 16,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCEQzv4i16),
                    MVT::v4i16, 3, 0, 1, 2,
   16,
    OPC_CheckChild1Integer, 10,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEzv4i16),
                    MVT::v4i16, 3, 0, 1, 2,
   16,
    OPC_CheckChild1Integer, 13,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLEzv4i16),
                    MVT::v4i16, 3, 0, 1, 2,
   16,
    OPC_CheckChild1Integer, 12,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGTzv4i16),
                    MVT::v4i16, 3, 0, 1, 2,
   16,
    OPC_CheckChild1Integer, 11,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLTzv4i16),
                    MVT::v4i16, 3, 0, 1, 2,
   0,
  91,
   OPC_CheckChild0Type, MVT::v2i32,
   OPC_CheckType, MVT::v2i32,
   OPC_Scope, 16,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCEQzv2i32),
                    MVT::v2i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild1Integer, 10,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEzv2i32),
                    MVT::v2i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild1Integer, 13,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLEzv2i32),
                    MVT::v2i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild1Integer, 12,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGTzv2i32),
                    MVT::v2i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild1Integer, 11,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLTzv2i32),
                    MVT::v2i32, 3, 0, 1, 2,
   0,
  92,
   OPC_CheckChild0Type, 2|128,1,
   OPC_CheckType, MVT::v2i32,
   OPC_Scope, 16,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCEQzv2f32),
                    MVT::v2i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild1Integer, 10,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEzv2f32),
                    MVT::v2i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild1Integer, 13,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLEzv2f32),
                    MVT::v2i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild1Integer, 12,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGTzv2f32),
                    MVT::v2i32, 3, 0, 1, 2,
   16,
    OPC_CheckChild1Integer, 11,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLTzv2f32),
                    MVT::v2i32, 3, 0, 1, 2,
   0,
  96,
   OPC_CheckChild0Type, MVT::v4f16,
   OPC_CheckType, MVT::v4i16,
   OPC_Scope, 17,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCEQzv4f16),
                    MVT::v4i16, 3, 0, 1, 2,
   17,
    OPC_CheckChild1Integer, 10,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEzv4f16),
                    MVT::v4i16, 3, 0, 1, 2,
   17,
    OPC_CheckChild1Integer, 13,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLEzv4f16),
                    MVT::v4i16, 3, 0, 1, 2,
   17,
    OPC_CheckChild1Integer, 12,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGTzv4f16),
                    MVT::v4i16, 3, 0, 1, 2,
   17,
    OPC_CheckChild1Integer, 11,
    OPC_CheckChild1TypeI32,
    OPC_CheckPatternPredicate, 13,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLTzv4f16),
                    MVT::v4i16, 3, 0, 1, 2,
   0,
  57|128,2,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_Scope, 44,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 13, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCEQzv16i8),
                     MVT::v16i8, 3, 0, 1, 2,
    22, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi8r),
                     MVT::v16i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   44,
    OPC_CheckChild1Integer, 10,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 13, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEzv16i8),
                     MVT::v16i8, 3, 0, 1, 2,
    22, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 10,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8r),
                     MVT::v16i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   44,
    OPC_CheckChild1Integer, 13,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 13, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLEzv16i8),
                     MVT::v16i8, 3, 0, 1, 2,
    22, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 13,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8r),
                     MVT::v16i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   44,
    OPC_CheckChild1Integer, 12,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 13, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGTzv16i8),
                     MVT::v16i8, 3, 0, 1, 2,
    22, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 12,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8r),
                     MVT::v16i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   44,
    OPC_CheckChild1Integer, 11,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 13, MVT::v16i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLTzv16i8),
                     MVT::v16i8, 3, 0, 1, 2,
    22, MVT::v16i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs8r),
                     MVT::v16i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   27,
    OPC_CheckChild1Integer, 1,
    OPC_CheckChild1TypeI32,
    OPC_CheckType, MVT::v16i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi8r),
                    MVT::v16i1, 6, 0, 1, 2, 3, 4, 5,
   27,
    OPC_CheckChild1Integer, 8,
    OPC_CheckChild1TypeI32,
    OPC_CheckType, MVT::v16i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitIntegerI32, 8,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu8r),
                    MVT::v16i1, 6, 0, 1, 2, 3, 4, 5,
   27,
    OPC_CheckChild1Integer, 2,
    OPC_CheckChild1TypeI32,
    OPC_CheckType, MVT::v16i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu8r),
                    MVT::v16i1, 6, 0, 1, 2, 3, 4, 5,
   0,
  57|128,2,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_Scope, 44,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 13, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCEQzv8i16),
                     MVT::v8i16, 3, 0, 1, 2,
    22, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   44,
    OPC_CheckChild1Integer, 10,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 13, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEzv8i16),
                     MVT::v8i16, 3, 0, 1, 2,
    22, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 10,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   44,
    OPC_CheckChild1Integer, 13,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 13, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLEzv8i16),
                     MVT::v8i16, 3, 0, 1, 2,
    22, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 13,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   44,
    OPC_CheckChild1Integer, 12,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 13, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGTzv8i16),
                     MVT::v8i16, 3, 0, 1, 2,
    22, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 12,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   44,
    OPC_CheckChild1Integer, 11,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 13, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLTzv8i16),
                     MVT::v8i16, 3, 0, 1, 2,
    22, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   27,
    OPC_CheckChild1Integer, 1,
    OPC_CheckChild1TypeI32,
    OPC_CheckType, MVT::v8i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi16r),
                    MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
   27,
    OPC_CheckChild1Integer, 8,
    OPC_CheckChild1TypeI32,
    OPC_CheckType, MVT::v8i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitIntegerI32, 8,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu16r),
                    MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
   27,
    OPC_CheckChild1Integer, 2,
    OPC_CheckChild1TypeI32,
    OPC_CheckType, MVT::v8i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu16r),
                    MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
   0,
  57|128,2,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_Scope, 44,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 13, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCEQzv4i32),
                     MVT::v4i32, 3, 0, 1, 2,
    22, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   44,
    OPC_CheckChild1Integer, 10,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 13, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEzv4i32),
                     MVT::v4i32, 3, 0, 1, 2,
    22, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 10,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   44,
    OPC_CheckChild1Integer, 13,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 13, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLEzv4i32),
                     MVT::v4i32, 3, 0, 1, 2,
    22, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 13,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   44,
    OPC_CheckChild1Integer, 12,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 13, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGTzv4i32),
                     MVT::v4i32, 3, 0, 1, 2,
    22, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 12,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   44,
    OPC_CheckChild1Integer, 11,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 13, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLTzv4i32),
                     MVT::v4i32, 3, 0, 1, 2,
    22, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPs32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   27,
    OPC_CheckChild1Integer, 1,
    OPC_CheckChild1TypeI32,
    OPC_CheckType, MVT::v4i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPi32r),
                    MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
   27,
    OPC_CheckChild1Integer, 8,
    OPC_CheckChild1TypeI32,
    OPC_CheckType, MVT::v4i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitIntegerI32, 8,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu32r),
                    MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
   27,
    OPC_CheckChild1Integer, 2,
    OPC_CheckChild1TypeI32,
    OPC_CheckType, MVT::v4i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitIntegerI32, 2,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPu32r),
                    MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
   0,
  2|128,2,
   OPC_CheckChild0Type, 4|128,1,
   OPC_Scope, 44,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 13, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCEQzv4f32),
                     MVT::v4i32, 3, 0, 1, 2,
    22, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   44,
    OPC_CheckChild1Integer, 10,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 13, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEzv4f32),
                     MVT::v4i32, 3, 0, 1, 2,
    22, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 10,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   44,
    OPC_CheckChild1Integer, 13,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 13, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLEzv4f32),
                     MVT::v4i32, 3, 0, 1, 2,
    22, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 13,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   44,
    OPC_CheckChild1Integer, 12,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 13, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGTzv4f32),
                     MVT::v4i32, 3, 0, 1, 2,
    22, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 12,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   44,
    OPC_CheckChild1Integer, 11,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 13, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLTzv4f32),
                     MVT::v4i32, 3, 0, 1, 2,
    22, MVT::v4i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                     MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   27,
    OPC_CheckChild1Integer, 1,
    OPC_CheckChild1TypeI32,
    OPC_CheckType, MVT::v4i1,
    OPC_CheckPatternPredicate2,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf32r),
                    MVT::v4i1, 6, 0, 1, 2, 3, 4, 5,
   0,
  6|128,2,
   OPC_CheckChild0Type, MVT::v8f16,
   OPC_Scope, 45,
    OPC_CheckChild1Integer, 0,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 14, MVT::v8i16,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCEQzv8f16),
                     MVT::v8i16, 3, 0, 1, 2,
    22, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   45,
    OPC_CheckChild1Integer, 10,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 14, MVT::v8i16,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGEzv8f16),
                     MVT::v8i16, 3, 0, 1, 2,
    22, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 10,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   45,
    OPC_CheckChild1Integer, 13,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 14, MVT::v8i16,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLEzv8f16),
                     MVT::v8i16, 3, 0, 1, 2,
    22, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 13,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   45,
    OPC_CheckChild1Integer, 12,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 14, MVT::v8i16,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCGTzv8f16),
                     MVT::v8i16, 3, 0, 1, 2,
    22, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 12,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   45,
    OPC_CheckChild1Integer, 11,
    OPC_CheckChild1TypeI32,
    OPC_SwitchType , 14, MVT::v8i16,
     OPC_CheckPatternPredicate, 13,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCLTzv8f16),
                     MVT::v8i16, 3, 0, 1, 2,
    22, MVT::v8i1,
     OPC_CheckPatternPredicate2,
     OPC_EmitRegisterI32, ARM::ZR,
     OPC_EmitIntegerI32, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                     MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
    0,
   27,
    OPC_CheckChild1Integer, 1,
    OPC_CheckChild1TypeI32,
    OPC_CheckType, MVT::v8i1,
    OPC_CheckPatternPredicate2,
    OPC_EmitRegisterI32, ARM::ZR,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCMPf16r),
                    MVT::v8i1, 6, 0, 1, 2, 3, 4, 5,
   0,
  0,
 87, TARGET_VAL(ARMISD::VRSHRNIMM),
  OPC_RecordChild0,
  OPC_Scope, 27,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 29,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHRNv8i8),
                   MVT::v8i8, 4, 0, 2, 3, 4,
  27,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 30,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHRNv4i16),
                   MVT::v4i16, 4, 0, 2, 3, 4,
  27,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 19,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHRNv2i32),
                   MVT::v2i32, 4, 0, 2, 3, 4,
  0,
 87, TARGET_VAL(ARMISD::VQSHRNsIMM),
  OPC_RecordChild0,
  OPC_Scope, 27,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 29,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHRNsv8i8),
                   MVT::v8i8, 4, 0, 2, 3, 4,
  27,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 30,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHRNsv4i16),
                   MVT::v4i16, 4, 0, 2, 3, 4,
  27,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 19,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHRNsv2i32),
                   MVT::v2i32, 4, 0, 2, 3, 4,
  0,
 87, TARGET_VAL(ARMISD::VQSHRNuIMM),
  OPC_RecordChild0,
  OPC_Scope, 27,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 29,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHRNuv8i8),
                   MVT::v8i8, 4, 0, 2, 3, 4,
  27,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 30,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHRNuv4i16),
                   MVT::v4i16, 4, 0, 2, 3, 4,
  27,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 19,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHRNuv2i32),
                   MVT::v2i32, 4, 0, 2, 3, 4,
  0,
 87, TARGET_VAL(ARMISD::VQSHRNsuIMM),
  OPC_RecordChild0,
  OPC_Scope, 27,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 29,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHRUNv8i8),
                   MVT::v8i8, 4, 0, 2, 3, 4,
  27,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 30,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHRUNv4i16),
                   MVT::v4i16, 4, 0, 2, 3, 4,
  27,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 19,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHRUNv2i32),
                   MVT::v2i32, 4, 0, 2, 3, 4,
  0,
 87, TARGET_VAL(ARMISD::VQRSHRNsIMM),
  OPC_RecordChild0,
  OPC_Scope, 27,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 29,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRSHRNsv8i8),
                   MVT::v8i8, 4, 0, 2, 3, 4,
  27,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 30,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRSHRNsv4i16),
                   MVT::v4i16, 4, 0, 2, 3, 4,
  27,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 19,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRSHRNsv2i32),
                   MVT::v2i32, 4, 0, 2, 3, 4,
  0,
 87, TARGET_VAL(ARMISD::VQRSHRNuIMM),
  OPC_RecordChild0,
  OPC_Scope, 27,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 29,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRSHRNuv8i8),
                   MVT::v8i8, 4, 0, 2, 3, 4,
  27,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 30,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRSHRNuv4i16),
                   MVT::v4i16, 4, 0, 2, 3, 4,
  27,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 19,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRSHRNuv2i32),
                   MVT::v2i32, 4, 0, 2, 3, 4,
  0,
 87, TARGET_VAL(ARMISD::VQRSHRNsuIMM),
  OPC_RecordChild0,
  OPC_Scope, 27,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 29,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRSHRUNv8i8),
                   MVT::v8i8, 4, 0, 2, 3, 4,
  27,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 30,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRSHRUNv4i16),
                   MVT::v4i16, 4, 0, 2, 3, 4,
  27,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 19,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQRSHRUNv2i32),
                   MVT::v2i32, 4, 0, 2, 3, 4,
  0,
 117|128,3, TARGET_VAL(ARMISD::VDUPLANE),
  OPC_RecordChild0,
  OPC_Scope, 49,
   OPC_CheckChild0Type, MVT::v8i8,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 20,
    OPC_CheckPredicate, 35,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUPLN8q),
                    MVT::v16i8, 4, 0, 2, 3, 4,
   18,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUPLN8d),
                    MVT::v8i8, 4, 0, 2, 3, 4,
   0,
  49,
   OPC_CheckChild0Type, MVT::v4i16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 20,
    OPC_CheckPredicate, 35,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUPLN16q),
                    MVT::v8i16, 4, 0, 2, 3, 4,
   18,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUPLN16d),
                    MVT::v4i16, 4, 0, 2, 3, 4,
   0,
  49,
   OPC_CheckChild0Type, MVT::v2i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 20,
    OPC_CheckPredicate, 35,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUPLN32q),
                    MVT::v4i32, 4, 0, 2, 3, 4,
   18,
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUPLN32d),
                    MVT::v2i32, 4, 0, 2, 3, 4,
   0,
  39,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 16, 2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v8i8, 2, 0, 3,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 17, 5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUPLN8q),
                   MVT::v16i8, 4, 4, 6, 7, 8,
  39,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 5, 2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v4i16, 2, 0, 3,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 6, 5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUPLN16q),
                   MVT::v8i16, 4, 4, 6, 7, 8,
  39,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 7, 2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v2i32, 2, 0, 3,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 8, 5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUPLN32q),
                   MVT::v4i32, 4, 4, 6, 7, 8,
  25,
   OPC_CheckChild0Type, MVT::v4f16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckType, MVT::v4f16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUPLN16d),
                   MVT::v4f16, 4, 0, 2, 3, 4,
  49,
   OPC_CheckChild0Type, 2|128,1,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_SwitchType , 16, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUPLN32d),
                    2|128,1, 4, 0, 2, 3, 4,
   16, 4|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitConvertToTarget1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUPLN32q),
                    4|128,1, 4, 0, 2, 3, 4,
   0,
  26,
   OPC_CheckChild0Type, MVT::v4bf16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckType, MVT::v4bf16,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUPLN16d),
                   MVT::v4bf16, 4, 0, 2, 3, 4,
  39,
   OPC_CheckChild0Type, MVT::v8f16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckType, MVT::v8f16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 5, 2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v4f16, 2, 0, 3,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 6, 5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUPLN16q),
                   MVT::v8f16, 4, 4, 6, 7, 8,
  43,
   OPC_CheckChild0Type, 4|128,1,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckType, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 7, 2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   2|128,1, 2, 0, 3,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 8, 5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUPLN32q),
                   4|128,1, 4, 4, 6, 7, 8,
  40,
   OPC_CheckChild0Type, MVT::v8bf16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckType, MVT::v8bf16,
   OPC_CheckPatternPredicate, 37,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 5, 2,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v4bf16, 2, 0, 3,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 6, 5,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VDUPLN16q),
                   MVT::v8bf16, 4, 4, 6, 7, 8,
  0,
 115, TARGET_VAL(ARMISD::VORRIMM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_MoveParent,
  OPC_SwitchType , 14, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORRiv4i16),
                   MVT::v4i16, 4, 1, 0, 2, 3,
  14, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORRiv2i32),
                   MVT::v2i32, 4, 1, 0, 2, 3,
  35, MVT::v8i16,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORRiv8i16),
                    MVT::v8i16, 4, 1, 0, 2, 3,
   17,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORRimmi16),
                    MVT::v8i16, 5, 0, 1, 2, 3, 4,
   0,
  35, MVT::v4i32,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VORRiv4i32),
                    MVT::v4i32, 4, 1, 0, 2, 3,
   17,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VORRimmi32),
                    MVT::v4i32, 5, 0, 1, 2, 3, 4,
   0,
  0,
 120, TARGET_VAL(ARMISD::VMVNIMM),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_MoveParent,
  OPC_SwitchType , 13, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMVNv4i16),
                   MVT::v4i16, 3, 0, 1, 2,
  39, MVT::v8i16,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMVNv8i16),
                    MVT::v8i16, 3, 0, 1, 2,
   22,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMVNimmi16),
                    MVT::v8i16, 5, 0, 1, 2, 3, 4,
   0,
  13, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMVNv2i32),
                   MVT::v2i32, 3, 0, 1, 2,
  39, MVT::v4i32,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMVNv4i32),
                    MVT::v4i32, 3, 0, 1, 2,
   22,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMVNimmi32),
                    MVT::v4i32, 5, 0, 1, 2, 3, 4,
   0,
  0,
 71|128,3, TARGET_VAL(ISD::ZERO_EXTEND),
  OPC_Scope, 3|128,1,
   OPC_MoveChild0,
   OPC_SwitchOpcode , 61, TARGET_VAL(ISD::ABDS),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_SwitchType , 17, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABDLsv8i16),
                     MVT::v8i16, 4, 0, 1, 2, 3,
    17, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABDLsv4i32),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    17, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABDLsv2i64),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    0,
   61, TARGET_VAL(ISD::ABDU),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_SwitchType , 17, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABDLuv8i16),
                     MVT::v8i16, 4, 0, 1, 2, 3,
    17, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABDLuv4i32),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    17, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABDLuv2i64),
                     MVT::v2i64, 4, 0, 1, 2, 3,
    0,
   0,
  62|128,2,
   OPC_RecordChild0,
   OPC_SwitchType , 82, MVT::v8i16,
    OPC_Scope, 15,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVLuv8i16),
                     MVT::v8i16, 3, 0, 1, 2,
    63,
     OPC_CheckChild0Type, MVT::v8i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi16),
                     MVT::v16i8, 5, 1, 2, 3, 4, 5,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi16),
                     MVT::v16i8, 5, 7, 8, 9, 10, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                     MVT::v8i16, 5, 6, 12, 13, 0, 14,
    0,
   82, MVT::v4i32,
    OPC_Scope, 15,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVLuv4i32),
                     MVT::v4i32, 3, 0, 1, 2,
    63,
     OPC_CheckChild0Type, MVT::v4i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi32),
                     MVT::v16i8, 5, 1, 2, 3, 4, 5,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi32),
                     MVT::v16i8, 5, 7, 8, 9, 10, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                     MVT::v4i32, 5, 6, 12, 13, 0, 14,
    0,
   82, MVT::v2i64,
    OPC_Scope, 15,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVLuv2i64),
                     MVT::v2i64, 3, 0, 1, 2,
    63,
     OPC_CheckChild0Type, MVT::v2i1,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 1,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi64),
                     MVT::v16i8, 5, 1, 2, 3, 4, 5,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi32),
                     MVT::v16i8, 5, 7, 8, 9, 10, 11,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                     MVT::v2i64, 5, 6, 12, 13, 0, 14,
    0,
   61, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi8),
                    MVT::v16i8, 5, 1, 2, 3, 4, 5,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi8),
                    MVT::v16i8, 5, 7, 8, 9, 10, 11,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                    MVT::v16i8, 5, 6, 12, 13, 0, 14,
   0,
  0,
 17|128,1, TARGET_VAL(ARMISD::VRSHRsIMM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_MoveParent,
  OPC_SwitchType , 15, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHRsv8i8),
                   MVT::v8i8, 4, 0, 2, 3, 4,
  15, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHRsv4i16),
                   MVT::v4i16, 4, 0, 2, 3, 4,
  15, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHRsv2i32),
                   MVT::v2i32, 4, 0, 2, 3, 4,
  15, MVT::v1i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHRsv1i64),
                   MVT::v1i64, 4, 0, 2, 3, 4,
  15, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHRsv16i8),
                   MVT::v16i8, 4, 0, 2, 3, 4,
  15, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHRsv8i16),
                   MVT::v8i16, 4, 0, 2, 3, 4,
  15, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHRsv4i32),
                   MVT::v4i32, 4, 0, 2, 3, 4,
  15, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHRsv2i64),
                   MVT::v2i64, 4, 0, 2, 3, 4,
  0,
 17|128,1, TARGET_VAL(ARMISD::VRSHRuIMM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_MoveParent,
  OPC_SwitchType , 15, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHRuv8i8),
                   MVT::v8i8, 4, 0, 2, 3, 4,
  15, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHRuv4i16),
                   MVT::v4i16, 4, 0, 2, 3, 4,
  15, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHRuv2i32),
                   MVT::v2i32, 4, 0, 2, 3, 4,
  15, MVT::v1i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHRuv1i64),
                   MVT::v1i64, 4, 0, 2, 3, 4,
  15, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHRuv16i8),
                   MVT::v16i8, 4, 0, 2, 3, 4,
  15, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHRuv8i16),
                   MVT::v8i16, 4, 0, 2, 3, 4,
  15, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHRuv4i32),
                   MVT::v4i32, 4, 0, 2, 3, 4,
  15, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VRSHRuv2i64),
                   MVT::v2i64, 4, 0, 2, 3, 4,
  0,
 17|128,1, TARGET_VAL(ARMISD::VQSHLsIMM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_MoveParent,
  OPC_SwitchType , 15, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLsiv8i8),
                   MVT::v8i8, 4, 0, 2, 3, 4,
  15, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLsiv4i16),
                   MVT::v4i16, 4, 0, 2, 3, 4,
  15, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLsiv2i32),
                   MVT::v2i32, 4, 0, 2, 3, 4,
  15, MVT::v1i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLsiv1i64),
                   MVT::v1i64, 4, 0, 2, 3, 4,
  15, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLsiv16i8),
                   MVT::v16i8, 4, 0, 2, 3, 4,
  15, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLsiv8i16),
                   MVT::v8i16, 4, 0, 2, 3, 4,
  15, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLsiv4i32),
                   MVT::v4i32, 4, 0, 2, 3, 4,
  15, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLsiv2i64),
                   MVT::v2i64, 4, 0, 2, 3, 4,
  0,
 17|128,1, TARGET_VAL(ARMISD::VQSHLuIMM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_MoveParent,
  OPC_SwitchType , 15, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLuiv8i8),
                   MVT::v8i8, 4, 0, 2, 3, 4,
  15, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLuiv4i16),
                   MVT::v4i16, 4, 0, 2, 3, 4,
  15, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLuiv2i32),
                   MVT::v2i32, 4, 0, 2, 3, 4,
  15, MVT::v1i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLuiv1i64),
                   MVT::v1i64, 4, 0, 2, 3, 4,
  15, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLuiv16i8),
                   MVT::v16i8, 4, 0, 2, 3, 4,
  15, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLuiv8i16),
                   MVT::v8i16, 4, 0, 2, 3, 4,
  15, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLuiv4i32),
                   MVT::v4i32, 4, 0, 2, 3, 4,
  15, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLuiv2i64),
                   MVT::v2i64, 4, 0, 2, 3, 4,
  0,
 17|128,1, TARGET_VAL(ARMISD::VQSHLsuIMM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_MoveParent,
  OPC_SwitchType , 15, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLsuv8i8),
                   MVT::v8i8, 4, 0, 2, 3, 4,
  15, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLsuv4i16),
                   MVT::v4i16, 4, 0, 2, 3, 4,
  15, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLsuv2i32),
                   MVT::v2i32, 4, 0, 2, 3, 4,
  15, MVT::v1i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLsuv1i64),
                   MVT::v1i64, 4, 0, 2, 3, 4,
  15, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLsuv16i8),
                   MVT::v16i8, 4, 0, 2, 3, 4,
  15, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLsuv8i16),
                   MVT::v8i16, 4, 0, 2, 3, 4,
  15, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLsuv4i32),
                   MVT::v4i32, 4, 0, 2, 3, 4,
  15, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSHLsuv2i64),
                   MVT::v2i64, 4, 0, 2, 3, 4,
  0,
 26|128,1, TARGET_VAL(ARMISD::VSLIIMM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_MoveParent,
  OPC_SwitchType , 16, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSLIv8i8),
                   MVT::v8i8, 5, 0, 1, 3, 4, 5,
  16, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSLIv4i16),
                   MVT::v4i16, 5, 0, 1, 3, 4, 5,
  16, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSLIv2i32),
                   MVT::v2i32, 5, 0, 1, 3, 4, 5,
  16, MVT::v1i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSLIv1i64),
                   MVT::v1i64, 5, 0, 1, 3, 4, 5,
  16, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSLIv16i8),
                   MVT::v16i8, 5, 0, 1, 3, 4, 5,
  16, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSLIv8i16),
                   MVT::v8i16, 5, 0, 1, 3, 4, 5,
  16, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSLIv4i32),
                   MVT::v4i32, 5, 0, 1, 3, 4, 5,
  16, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSLIv2i64),
                   MVT::v2i64, 5, 0, 1, 3, 4, 5,
  0,
 26|128,1, TARGET_VAL(ARMISD::VSRIIMM),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_MoveParent,
  OPC_SwitchType , 16, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRIv8i8),
                   MVT::v8i8, 5, 0, 1, 3, 4, 5,
  16, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRIv4i16),
                   MVT::v4i16, 5, 0, 1, 3, 4, 5,
  16, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRIv2i32),
                   MVT::v2i32, 5, 0, 1, 3, 4, 5,
  16, MVT::v1i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRIv1i64),
                   MVT::v1i64, 5, 0, 1, 3, 4, 5,
  16, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRIv16i8),
                   MVT::v16i8, 5, 0, 1, 3, 4, 5,
  16, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRIv8i16),
                   MVT::v8i16, 5, 0, 1, 3, 4, 5,
  16, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRIv4i32),
                   MVT::v4i32, 5, 0, 1, 3, 4, 5,
  16, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSRIv2i64),
                   MVT::v2i64, 5, 0, 1, 3, 4, 5,
  0,
 46|128,1, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
  OPC_RecordChild0,
  OPC_Scope, 23,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 16, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v8i8, 2, 0, 3,
  23,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 5, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v4i16, 2, 0, 3,
  23,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 7, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v2i32, 2, 0, 3,
  23,
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckType, MVT::v1i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 20, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v1i64, 2, 0, 3,
  26,
   OPC_CheckChild0Type, 4|128,1,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckType, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 7, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   2|128,1, 2, 0, 3,
  23,
   OPC_CheckChild0Type, MVT::v8f16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4f16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 5, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v4f16, 2, 0, 3,
  23,
   OPC_CheckChild0Type, MVT::v8bf16,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckTypeI32,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4bf16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget1,
   OPC_EmitNodeXForm, 5, 2,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG),
                   MVT::v4bf16, 2, 0, 3,
  0,
 120|128,1, TARGET_VAL(ARMISD::VEXT),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_MoveChild2,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_MoveParent,
  OPC_SwitchType , 16, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VEXTd8),
                   MVT::v8i8, 5, 0, 1, 3, 4, 5,
  16, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VEXTd16),
                   MVT::v4i16, 5, 0, 1, 3, 4, 5,
  16, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VEXTd32),
                   MVT::v2i32, 5, 0, 1, 3, 4, 5,
  16, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VEXTq8),
                   MVT::v16i8, 5, 0, 1, 3, 4, 5,
  16, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VEXTq16),
                   MVT::v8i16, 5, 0, 1, 3, 4, 5,
  16, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VEXTq32),
                   MVT::v4i32, 5, 0, 1, 3, 4, 5,
  16, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VEXTq64),
                   MVT::v2i64, 5, 0, 1, 3, 4, 5,
  16, MVT::v4f16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VEXTd16),
                   MVT::v4f16, 5, 0, 1, 3, 4, 5,
  16, MVT::v4bf16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VEXTd16),
                   MVT::v4bf16, 5, 0, 1, 3, 4, 5,
  17, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VEXTd32),
                   2|128,1, 5, 0, 1, 3, 4, 5,
  16, MVT::v8f16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VEXTq16),
                   MVT::v8f16, 5, 0, 1, 3, 4, 5,
  16, MVT::v8bf16,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VEXTq16),
                   MVT::v8bf16, 5, 0, 1, 3, 4, 5,
  17, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitConvertToTarget2,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VEXTq32),
                   4|128,1, 5, 0, 1, 3, 4, 5,
  0,
 63|128,2, TARGET_VAL(ISD::UMIN),
  OPC_Scope, 66,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ABS),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 17, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINAs8),
                    MVT::v16i8, 5, 0, 1, 2, 3, 4,
   17, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINAs16),
                    MVT::v8i16, 5, 0, 1, 2, 3, 4,
   17, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINAs32),
                    MVT::v4i32, 5, 0, 1, 2, 3, 4,
   0,
  66,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ABS),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 17, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINAs8),
                    MVT::v16i8, 5, 1, 0, 2, 3, 4,
   17, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINAs16),
                    MVT::v8i16, 5, 1, 0, 2, 3, 4,
   17, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINAs32),
                    MVT::v4i32, 5, 1, 0, 2, 3, 4,
   0,
  53|128,1,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 14, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMINuv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   14, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMINuv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   41, MVT::v8i16,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMINuv8i16),
                     MVT::v8i16, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINu16),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    0,
   41, MVT::v4i32,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMINuv4i32),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINu32),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    0,
   14, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMINuv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   41, MVT::v16i8,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMINuv16i8),
                     MVT::v16i8, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINu8),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  0,
 63|128,2, TARGET_VAL(ISD::UMAX),
  OPC_Scope, 66,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ABS),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_SwitchType , 17, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXAs8),
                    MVT::v16i8, 5, 0, 1, 2, 3, 4,
   17, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXAs16),
                    MVT::v8i16, 5, 0, 1, 2, 3, 4,
   17, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXAs32),
                    MVT::v4i32, 5, 0, 1, 2, 3, 4,
   0,
  66,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ABS),
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 17, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXAs8),
                    MVT::v16i8, 5, 1, 0, 2, 3, 4,
   17, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXAs16),
                    MVT::v8i16, 5, 1, 0, 2, 3, 4,
   17, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXAs32),
                    MVT::v4i32, 5, 1, 0, 2, 3, 4,
   0,
  53|128,1,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 14, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMAXuv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   14, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMAXuv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   41, MVT::v8i16,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMAXuv8i16),
                     MVT::v8i16, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXu16),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    0,
   41, MVT::v4i32,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMAXuv4i32),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXu32),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    0,
   14, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMAXuv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   41, MVT::v16i8,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMAXuv16i8),
                     MVT::v16i8, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXu8),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    0,
   0,
  0,
 5|128,3, TARGET_VAL(ISD::UADDSAT),
  OPC_Scope, 85,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_SwitchType , 23, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_u8),
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
   23, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_u16),
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
   23, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_u32),
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
   0,
  85,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_u8),
                    MVT::v16i8, 6, 1, 0, 2, 3, 4, 5,
   23, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_u16),
                    MVT::v8i16, 6, 1, 0, 2, 3, 4, 5,
   23, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADD_qr_u32),
                    MVT::v4i32, 6, 1, 0, 2, 3, 4, 5,
   0,
  85|128,1,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 14, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQADDuv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   14, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQADDuv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   41, MVT::v8i16,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQADDuv8i16),
                     MVT::v8i16, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADDu16),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    0,
   41, MVT::v4i32,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQADDuv4i32),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADDu32),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    0,
   14, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQADDuv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   41, MVT::v16i8,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQADDuv16i8),
                     MVT::v16i8, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQADDu8),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    0,
   14, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQADDuv1i64),
                    MVT::v1i64, 4, 0, 1, 2, 3,
   14, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQADDuv2i64),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   0,
  0,
 46|128,2, TARGET_VAL(ISD::USUBSAT),
  OPC_RecordChild0,
  OPC_Scope, 84,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_SwitchType , 23, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUB_qr_u8),
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
   23, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUB_qr_u16),
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
   23, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUB_qr_u32),
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
   0,
  84|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 14, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSUBuv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   14, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSUBuv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   41, MVT::v8i16,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSUBuv8i16),
                     MVT::v8i16, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUBu16),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    0,
   41, MVT::v4i32,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSUBuv4i32),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUBu32),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    0,
   14, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSUBuv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   41, MVT::v16i8,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSUBuv16i8),
                     MVT::v16i8, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQSUBu8),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    0,
   14, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSUBuv1i64),
                    MVT::v1i64, 4, 0, 1, 2, 3,
   14, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VQSUBuv2i64),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   0,
  0,
 117|128,1, TARGET_VAL(ISD::AVGFLOORS),
  OPC_Scope, 82,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_SwitchType , 22, MVT::v16i8,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s8),
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
   22, MVT::v8i16,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s16),
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
   22, MVT::v4i32,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s32),
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
   0,
  82,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 22, MVT::v16i8,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s8),
                    MVT::v16i8, 6, 1, 0, 2, 3, 4, 5,
   22, MVT::v8i16,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s16),
                    MVT::v8i16, 6, 1, 0, 2, 3, 4, 5,
   22, MVT::v4i32,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_s32),
                    MVT::v4i32, 6, 1, 0, 2, 3, 4, 5,
   0,
  76,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 22, MVT::v16i8,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADDs8),
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
   22, MVT::v8i16,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADDs16),
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
   22, MVT::v4i32,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADDs32),
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
   0,
  0,
 117|128,1, TARGET_VAL(ISD::AVGFLOORU),
  OPC_Scope, 82,
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_SwitchType , 22, MVT::v16i8,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u8),
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
   22, MVT::v8i16,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u16),
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
   22, MVT::v4i32,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u32),
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
   0,
  82,
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_SwitchType , 22, MVT::v16i8,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u8),
                    MVT::v16i8, 6, 1, 0, 2, 3, 4, 5,
   22, MVT::v8i16,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u16),
                    MVT::v8i16, 6, 1, 0, 2, 3, 4, 5,
   22, MVT::v4i32,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADD_qr_u32),
                    MVT::v4i32, 6, 1, 0, 2, 3, 4, 5,
   0,
  76,
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 22, MVT::v16i8,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADDu8),
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
   22, MVT::v8i16,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADDu16),
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
   22, MVT::v4i32,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VHADDu32),
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
   0,
  0,
 28|128,2, TARGET_VAL(ARMISD::VSHLu),
  OPC_RecordChild0,
  OPC_Scope, 66,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_SwitchType , 17, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_qru32),
                    MVT::v4i32, 5, 0, 1, 2, 3, 4,
   17, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_qru16),
                    MVT::v8i16, 5, 0, 1, 2, 3, 4,
   17, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_qru8),
                    MVT::v16i8, 5, 0, 1, 2, 3, 4,
   0,
  84|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 14, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLuv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   14, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLuv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   14, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLuv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   14, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLuv1i64),
                    MVT::v1i64, 4, 0, 1, 2, 3,
   41, MVT::v16i8,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLuv16i8),
                     MVT::v16i8, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecu8),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    0,
   41, MVT::v8i16,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLuv8i16),
                     MVT::v8i16, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecu16),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    0,
   41, MVT::v4i32,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLuv4i32),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecu32),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    0,
   14, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLuv2i64),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   0,
  0,
 28|128,2, TARGET_VAL(ARMISD::VSHLs),
  OPC_RecordChild0,
  OPC_Scope, 66,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_SwitchType , 17, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_qrs32),
                    MVT::v4i32, 5, 0, 1, 2, 3, 4,
   17, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_qrs16),
                    MVT::v8i16, 5, 0, 1, 2, 3, 4,
   17, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_qrs8),
                    MVT::v16i8, 5, 0, 1, 2, 3, 4,
   0,
  84|128,1,
   OPC_RecordChild1,
   OPC_SwitchType , 14, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLsv8i8),
                    MVT::v8i8, 4, 0, 1, 2, 3,
   14, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLsv4i16),
                    MVT::v4i16, 4, 0, 1, 2, 3,
   14, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLsv2i32),
                    MVT::v2i32, 4, 0, 1, 2, 3,
   14, MVT::v1i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLsv1i64),
                    MVT::v1i64, 4, 0, 1, 2, 3,
   41, MVT::v16i8,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLsv16i8),
                     MVT::v16i8, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecs8),
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
    0,
   41, MVT::v8i16,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLsv8i16),
                     MVT::v8i16, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecs16),
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
    0,
   41, MVT::v4i32,
    OPC_Scope, 14,
     OPC_CheckPatternPredicate1,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLsv4i32),
                     MVT::v4i32, 4, 0, 1, 2, 3,
    23,
     OPC_CheckPatternPredicate0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VSHL_by_vecs32),
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
    0,
   14, MVT::v2i64,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSHLsv2i64),
                    MVT::v2i64, 4, 0, 1, 2, 3,
   0,
  0,
 39|128,1, TARGET_VAL(ARMISD::VQDMULH),
  OPC_RecordChild0,
  OPC_Scope, 84,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0TypeI32,
   OPC_MoveParent,
   OPC_SwitchType , 23, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULH_qr_s8),
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
   23, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULH_qr_s16),
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
   23, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULH_qr_s32),
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
   0,
  78,
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v16i8,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULHi8),
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
   23, MVT::v8i16,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULHi16),
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
   23, MVT::v4i32,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VQDMULHi32),
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
   0,
  0,
 90, TARGET_VAL(ARMISD::VIDUP),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_MoveChild1,
  OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
  OPC_MoveParent,
  OPC_SwitchType , 25, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VIDUPu8),
                   MVT::v16i8, MVT::i32, 6, 0, 2, 3, 4, 5, 6,
  25, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VIDUPu16),
                   MVT::v8i16, MVT::i32, 6, 0, 2, 3, 4, 5, 6,
  25, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitConvertToTarget1,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo2None, TARGET_VAL(ARM::MVE_VIDUPu32),
                   MVT::v4i32, MVT::i32, 6, 0, 2, 3, 4, 5, 6,
  0,
 117, TARGET_VAL(ARMISD::VTST),
  OPC_RecordChild0,
  OPC_SwitchType , 17, MVT::v8i8,
   OPC_CheckChild0Type, MVT::v8i8,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VTSTv8i8),
                   MVT::v8i8, 4, 0, 1, 2, 3,
  17, MVT::v4i16,
   OPC_CheckChild0Type, MVT::v4i16,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VTSTv4i16),
                   MVT::v4i16, 4, 0, 1, 2, 3,
  17, MVT::v2i32,
   OPC_CheckChild0Type, MVT::v2i32,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VTSTv2i32),
                   MVT::v2i32, 4, 0, 1, 2, 3,
  17, MVT::v16i8,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VTSTv16i8),
                   MVT::v16i8, 4, 0, 1, 2, 3,
  17, MVT::v8i16,
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VTSTv8i16),
                   MVT::v8i16, 4, 0, 1, 2, 3,
  17, MVT::v4i32,
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VTSTv4i32),
                   MVT::v4i32, 4, 0, 1, 2, 3,
  0,
 51|128,1, TARGET_VAL(ARMISD::VBSP),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_SwitchType , 15, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                   MVT::v8i8, 5, 0, 1, 2, 3, 4,
  15, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                   MVT::v4i16, 5, 0, 1, 2, 3, 4,
  15, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                   MVT::v2i32, 5, 0, 1, 2, 3, 4,
  15, MVT::v1i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                   MVT::v1i64, 5, 0, 1, 2, 3, 4,
  15, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                   MVT::v16i8, 5, 0, 1, 2, 3, 4,
  15, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                   MVT::v8i16, 5, 0, 1, 2, 3, 4,
  15, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                   MVT::v4i32, 5, 0, 1, 2, 3, 4,
  15, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                   MVT::v2i64, 5, 0, 1, 2, 3, 4,
  16, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPd),
                   2|128,1, 5, 0, 1, 2, 3, 4,
  16, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VBSPq),
                   4|128,1, 5, 0, 1, 2, 3, 4,
  0,
 53|128,1, TARGET_VAL(ISD::ABDS),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 14, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABDsv4i16),
                   MVT::v4i16, 4, 0, 1, 2, 3,
  14, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABDsv2i32),
                   MVT::v2i32, 4, 0, 1, 2, 3,
  41, MVT::v8i16,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABDsv8i16),
                    MVT::v8i16, 4, 0, 1, 2, 3,
   23,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDs16),
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
   0,
  41, MVT::v4i32,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABDsv4i32),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   23,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDs32),
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
   0,
  14, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABDsv8i8),
                   MVT::v8i8, 4, 0, 1, 2, 3,
  41, MVT::v16i8,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABDsv16i8),
                    MVT::v16i8, 4, 0, 1, 2, 3,
   23,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDs8),
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
   0,
  0,
 53|128,1, TARGET_VAL(ISD::ABDU),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 14, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABDuv4i16),
                   MVT::v4i16, 4, 0, 1, 2, 3,
  14, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABDuv2i32),
                   MVT::v2i32, 4, 0, 1, 2, 3,
  41, MVT::v8i16,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABDuv8i16),
                    MVT::v8i16, 4, 0, 1, 2, 3,
   23,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDu16),
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
   0,
  41, MVT::v4i32,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABDuv4i32),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   23,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDu32),
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
   0,
  14, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABDuv8i8),
                   MVT::v8i8, 4, 0, 1, 2, 3,
  41, MVT::v16i8,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABDuv16i8),
                    MVT::v16i8, 4, 0, 1, 2, 3,
   23,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABDu8),
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
   0,
  0,
 53|128,1, TARGET_VAL(ISD::SMAX),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 14, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMAXsv4i16),
                   MVT::v4i16, 4, 0, 1, 2, 3,
  14, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMAXsv2i32),
                   MVT::v2i32, 4, 0, 1, 2, 3,
  41, MVT::v8i16,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMAXsv8i16),
                    MVT::v8i16, 4, 0, 1, 2, 3,
   23,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXs16),
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
   0,
  41, MVT::v4i32,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMAXsv4i32),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   23,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXs32),
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
   0,
  14, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMAXsv8i8),
                   MVT::v8i8, 4, 0, 1, 2, 3,
  41, MVT::v16i8,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMAXsv16i8),
                    MVT::v16i8, 4, 0, 1, 2, 3,
   23,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMAXs8),
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
   0,
  0,
 53|128,1, TARGET_VAL(ISD::SMIN),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 14, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMINsv4i16),
                   MVT::v4i16, 4, 0, 1, 2, 3,
  14, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMINsv2i32),
                   MVT::v2i32, 4, 0, 1, 2, 3,
  41, MVT::v8i16,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMINsv8i16),
                    MVT::v8i16, 4, 0, 1, 2, 3,
   23,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINs16),
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
   0,
  41, MVT::v4i32,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMINsv4i32),
                    MVT::v4i32, 4, 0, 1, 2, 3,
   23,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINs32),
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
   0,
  14, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMINsv8i8),
                   MVT::v8i8, 4, 0, 1, 2, 3,
  41, MVT::v16i8,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMINsv16i8),
                    MVT::v16i8, 4, 0, 1, 2, 3,
   23,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMINs8),
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
   0,
  0,
 43|128,1, TARGET_VAL(ISD::ABS),
  OPC_RecordChild0,
  OPC_SwitchType , 13, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABSv8i8),
                   MVT::v8i8, 3, 0, 1, 2,
  13, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABSv4i16),
                   MVT::v4i16, 3, 0, 1, 2,
  13, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABSv2i32),
                   MVT::v2i32, 3, 0, 1, 2,
  39, MVT::v16i8,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABSv16i8),
                    MVT::v16i8, 3, 0, 1, 2,
   22,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABSs8),
                    MVT::v16i8, 5, 0, 1, 2, 3, 4,
   0,
  39, MVT::v8i16,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABSv8i16),
                    MVT::v8i16, 3, 0, 1, 2,
   22,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABSs16),
                    MVT::v8i16, 5, 0, 1, 2, 3, 4,
   0,
  39, MVT::v4i32,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VABSv4i32),
                    MVT::v4i32, 3, 0, 1, 2,
   22,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VABSs32),
                    MVT::v4i32, 5, 0, 1, 2, 3, 4,
   0,
  0,
 37, TARGET_VAL(ISD::CTPOP),
  OPC_RecordChild0,
  OPC_SwitchType , 15, MVT::v8i8,
   OPC_CheckChild0Type, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCNTd),
                   MVT::v8i8, 3, 0, 1, 2,
  15, MVT::v16i8,
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VCNTq),
                   MVT::v16i8, 3, 0, 1, 2,
  0,
 66|128,2, TARGET_VAL(ISD::SIGN_EXTEND),
  OPC_RecordChild0,
  OPC_SwitchType , 83, MVT::v8i16,
   OPC_Scope, 15,
    OPC_CheckChild0Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVLsv8i16),
                    MVT::v8i16, 3, 0, 1, 2,
   64,
    OPC_CheckChild0Type, MVT::v8i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 127|128,1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi8),
                    MVT::v16i8, 5, 1, 2, 3, 4, 5,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi16),
                    MVT::v16i8, 5, 7, 8, 9, 10, 11,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                    MVT::v8i16, 5, 6, 12, 13, 0, 14,
   0,
  83, MVT::v4i32,
   OPC_Scope, 15,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVLsv4i32),
                    MVT::v4i32, 3, 0, 1, 2,
   64,
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 127|128,1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi8),
                    MVT::v16i8, 5, 1, 2, 3, 4, 5,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi32),
                    MVT::v16i8, 5, 7, 8, 9, 10, 11,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                    MVT::v4i32, 5, 6, 12, 13, 0, 14,
   0,
  83, MVT::v2i64,
   OPC_Scope, 15,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVLsv2i64),
                    MVT::v2i64, 3, 0, 1, 2,
   64,
    OPC_CheckChild0Type, MVT::v2i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 127|128,1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi8),
                    MVT::v16i8, 5, 1, 2, 3, 4, 5,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi32),
                    MVT::v16i8, 5, 7, 8, 9, 10, 11,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                    MVT::v2i64, 5, 6, 12, 13, 0, 14,
   0,
  62, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 127|128,1,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi8),
                   MVT::v16i8, 5, 1, 2, 3, 4, 5,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi8),
                   MVT::v16i8, 5, 7, 8, 9, 10, 11,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                   MVT::v16i8, 5, 6, 12, 13, 0, 14,
  0,
 62|128,2, TARGET_VAL(ISD::ANY_EXTEND),
  OPC_RecordChild0,
  OPC_SwitchType , 82, MVT::v8i16,
   OPC_Scope, 15,
    OPC_CheckChild0Type, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVLuv8i16),
                    MVT::v8i16, 3, 0, 1, 2,
   63,
    OPC_CheckChild0Type, MVT::v8i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi16),
                    MVT::v16i8, 5, 1, 2, 3, 4, 5,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi16),
                    MVT::v16i8, 5, 7, 8, 9, 10, 11,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                    MVT::v8i16, 5, 6, 12, 13, 0, 14,
   0,
  82, MVT::v4i32,
   OPC_Scope, 15,
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVLuv4i32),
                    MVT::v4i32, 3, 0, 1, 2,
   63,
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi32),
                    MVT::v16i8, 5, 1, 2, 3, 4, 5,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi32),
                    MVT::v16i8, 5, 7, 8, 9, 10, 11,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                    MVT::v4i32, 5, 6, 12, 13, 0, 14,
   0,
  82, MVT::v2i64,
   OPC_Scope, 15,
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVLuv2i64),
                    MVT::v2i64, 3, 0, 1, 2,
   63,
    OPC_CheckChild0Type, MVT::v2i1,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 1,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi64),
                    MVT::v16i8, 5, 1, 2, 3, 4, 5,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi32),
                    MVT::v16i8, 5, 7, 8, 9, 10, 11,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                    MVT::v2i64, 5, 6, 12, 13, 0, 14,
   0,
  61, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 1,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi8),
                   MVT::v16i8, 5, 1, 2, 3, 4, 5,
   OPC_EmitIntegerI32, 0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_EmitNode1None, TARGET_VAL(ARM::MVE_VMOVimmi8),
                   MVT::v16i8, 5, 7, 8, 9, 10, 11,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VPSEL),
                   MVT::v16i8, 5, 6, 12, 13, 0, 14,
  0,
 62|128,2, TARGET_VAL(ARMISD::VREV64),
  OPC_RecordChild0,
  OPC_SwitchType , 13, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d8),
                   MVT::v8i8, 3, 0, 1, 2,
  13, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d16),
                   MVT::v4i16, 3, 0, 1, 2,
  13, MVT::v2i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d32),
                   MVT::v2i32, 3, 0, 1, 2,
  39, MVT::v16i8,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q8),
                    MVT::v16i8, 3, 0, 1, 2,
   22,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_8),
                    MVT::v16i8, 5, 0, 1, 2, 3, 4,
   0,
  39, MVT::v8i16,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q16),
                    MVT::v8i16, 3, 0, 1, 2,
   22,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_16),
                    MVT::v8i16, 5, 0, 1, 2, 3, 4,
   0,
  39, MVT::v4i32,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q32),
                    MVT::v4i32, 3, 0, 1, 2,
   22,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_32),
                    MVT::v4i32, 5, 0, 1, 2, 3, 4,
   0,
  14, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d32),
                   2|128,1, 3, 0, 1, 2,
  41, 4|128,1,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q32),
                    4|128,1, 3, 0, 1, 2,
   23,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_32),
                    4|128,1, 5, 0, 1, 2, 3, 4,
   0,
  39, MVT::v8f16,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q16),
                    MVT::v8f16, 3, 0, 1, 2,
   22,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV64_16),
                    MVT::v8f16, 5, 0, 1, 2, 3, 4,
   0,
  13, MVT::v4f16,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d16),
                   MVT::v4f16, 3, 0, 1, 2,
  13, MVT::v8bf16,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64q16),
                   MVT::v8bf16, 3, 0, 1, 2,
  13, MVT::v4bf16,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV64d16),
                   MVT::v4bf16, 3, 0, 1, 2,
  0,
 73|128,1, TARGET_VAL(ARMISD::VREV32),
  OPC_RecordChild0,
  OPC_SwitchType , 13, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32d8),
                   MVT::v8i8, 3, 0, 1, 2,
  13, MVT::v4i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32d16),
                   MVT::v4i16, 3, 0, 1, 2,
  39, MVT::v16i8,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32q8),
                    MVT::v16i8, 3, 0, 1, 2,
   22,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV32_8),
                    MVT::v16i8, 5, 0, 1, 2, 3, 4,
   0,
  39, MVT::v8i16,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32q16),
                    MVT::v8i16, 3, 0, 1, 2,
   22,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV32_16),
                    MVT::v8i16, 5, 0, 1, 2, 3, 4,
   0,
  39, MVT::v8f16,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32q16),
                    MVT::v8f16, 3, 0, 1, 2,
   22,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV32_16),
                    MVT::v8f16, 5, 0, 1, 2, 3, 4,
   0,
  13, MVT::v4f16,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32d16),
                   MVT::v4f16, 3, 0, 1, 2,
  13, MVT::v8bf16,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32q16),
                   MVT::v8bf16, 3, 0, 1, 2,
  13, MVT::v4bf16,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV32d16),
                   MVT::v4bf16, 3, 0, 1, 2,
  0,
 59, TARGET_VAL(ARMISD::VREV16),
  OPC_RecordChild0,
  OPC_SwitchType , 13, MVT::v8i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV16d8),
                   MVT::v8i8, 3, 0, 1, 2,
  39, MVT::v16i8,
   OPC_Scope, 13,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VREV16q8),
                    MVT::v16i8, 3, 0, 1, 2,
   22,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VREV16_8),
                    MVT::v16i8, 5, 0, 1, 2, 3, 4,
   0,
  0,
 16, TARGET_VAL(ARMISD::VTBL1),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckPatternPredicate1,
  OPC_EmitIntegerI32, 14,
  OPC_EmitRegisterI32, 0 ,
  OPC_MorphNodeTo1None, TARGET_VAL(ARM::VTBL1),
                  MVT::v8i8, 4, 0, 1, 2, 3,
 18|128,1, TARGET_VAL(ISD::CONCAT_VECTORS),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 18, MVT::v2i64,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 69|128,0,
   OPC_EmitIntegerI32, ARM::dsub_0,
   OPC_EmitIntegerI32, ARM::dsub_1,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v2i64, 5, 2, 0, 3, 1, 4,
  18, MVT::v4i32,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 69|128,0,
   OPC_EmitIntegerI32, ARM::dsub_0,
   OPC_EmitIntegerI32, ARM::dsub_1,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v4i32, 5, 2, 0, 3, 1, 4,
  18, MVT::v8i16,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 69|128,0,
   OPC_EmitIntegerI32, ARM::dsub_0,
   OPC_EmitIntegerI32, ARM::dsub_1,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v8i16, 5, 2, 0, 3, 1, 4,
  18, MVT::v16i8,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 69|128,0,
   OPC_EmitIntegerI32, ARM::dsub_0,
   OPC_EmitIntegerI32, ARM::dsub_1,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v16i8, 5, 2, 0, 3, 1, 4,
  19, 4|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 69|128,0,
   OPC_EmitIntegerI32, ARM::dsub_0,
   OPC_EmitIntegerI32, ARM::dsub_1,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   4|128,1, 5, 2, 0, 3, 1, 4,
  18, MVT::v8f16,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 69|128,0,
   OPC_EmitIntegerI32, ARM::dsub_0,
   OPC_EmitIntegerI32, ARM::dsub_1,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v8f16, 5, 2, 0, 3, 1, 4,
  18, MVT::v8bf16,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 69|128,0,
   OPC_EmitIntegerI32, ARM::dsub_0,
   OPC_EmitIntegerI32, ARM::dsub_1,
   OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                   MVT::v8bf16, 5, 2, 0, 3, 1, 4,
  0,
 76, TARGET_VAL(ISD::AVGCEILS),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 22, MVT::v16i8,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRHADDs8),
                   MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
  22, MVT::v8i16,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRHADDs16),
                   MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
  22, MVT::v4i32,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRHADDs32),
                   MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
  0,
 76, TARGET_VAL(ISD::AVGCEILU),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 22, MVT::v16i8,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRHADDu8),
                   MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
  22, MVT::v8i16,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRHADDu16),
                   MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
  22, MVT::v4i32,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VRHADDu32),
                   MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
  0,
 79, TARGET_VAL(ISD::MULHU),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_SwitchType , 23, MVT::v16i8,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULHu8),
                   MVT::v16i8, 6, 0, 1, 2, 3, 4, 5,
  23, MVT::v8i16,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULHu16),
                   MVT::v8i16, 6, 0, 1, 2, 3, 4, 5,
  23, MVT::v4i32,
   OPC_CheckPatternPredicate0,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMULHu32),
                   MVT::v4i32, 6, 0, 1, 2, 3, 4, 5,
  0,
 118|128,3, TARGET_VAL(ISD::SCALAR_TO_VECTOR),
  OPC_RecordChild0,
  OPC_Scope, 65|128,2,
   OPC_CheckChild0TypeI32,
   OPC_SwitchType , 22, MVT::v8i8,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v8i8, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSETLNi8),
                    MVT::v8i8, 5, 1, 0, 2, 3, 4,
   22, MVT::v4i16,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i16, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSETLNi16),
                    MVT::v4i16, 5, 1, 0, 2, 3, 4,
   22, MVT::v2i32,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v2i32, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VSETLNi32),
                    MVT::v2i32, 5, 1, 0, 2, 3, 4,
   63, MVT::v16i8,
    OPC_Scope, 22,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOV_to_lane_8),
                     MVT::v16i8, 5, 1, 0, 2, 3, 4,
    37,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v16i8, 0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i8, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VSETLNi8),
                     MVT::f64, 5, 2, 0, 3, 4, 5,
     OPC_EmitIntegerI32, ARM::dsub_0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v16i8, 3, 1, 6, 7,
    0,
   63, MVT::v8i16,
    OPC_Scope, 22,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i16, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOV_to_lane_16),
                     MVT::v8i16, 5, 1, 0, 2, 3, 4,
    37,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8i16, 0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i16, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VSETLNi16),
                     MVT::f64, 5, 2, 0, 3, 4, 5,
     OPC_EmitIntegerI32, ARM::dsub_0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8i16, 3, 1, 6, 7,
    0,
   63, MVT::v4i32,
    OPC_Scope, 22,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOV_to_lane_32),
                     MVT::v4i32, 5, 1, 0, 2, 3, 4,
    37,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v4i32, 0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v2i32, 0,
     OPC_EmitIntegerI32, 0,
     OPC_EmitIntegerI32, 14,
     OPC_EmitRegisterI32, 0 ,
     OPC_EmitNode1None, TARGET_VAL(ARM::VSETLNi32),
                     MVT::f64, 5, 2, 0, 3, 4, 5,
     OPC_EmitIntegerI32, ARM::dsub_0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v4i32, 3, 1, 6, 7,
    0,
   24, 4|128,1,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    4|128,1, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOV_to_lane_32),
                    4|128,1, 5, 1, 0, 2, 3, 4,
   22, MVT::v8f16,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v8f16, 0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOV_to_lane_16),
                    MVT::v8f16, 5, 1, 0, 2, 3, 4,
   0,
  68,
   OPC_CheckChild0Type, MVT::f32,
   OPC_SwitchType , 18, 2|128,1,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    2|128,1, 0,
    OPC_EmitIntegerI32, ARM::ssub_0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    2|128,1, 3, 1, 0, 2,
   40, 4|128,1,
    OPC_Scope, 18,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     4|128,1, 0,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     4|128,1, 3, 1, 0, 2,
    18,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     4|128,1, 0,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     4|128,1, 3, 1, 0, 2,
    0,
   0,
  45,
   OPC_CheckChild0Type, MVT::f64,
   OPC_CheckType, 22|128,1,
   OPC_Scope, 18,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    22|128,1, 0,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    22|128,1, 3, 1, 0, 2,
   18,
    OPC_CheckPatternPredicate0,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    22|128,1, 0,
    OPC_EmitIntegerI32, ARM::dsub_0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    22|128,1, 3, 1, 0, 2,
   0,
  60,
   OPC_CheckChild0Type, MVT::f16,
   OPC_SwitchType , 16, MVT::v4f16,
    OPC_CheckPatternPredicate1,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4f16, 0,
    OPC_EmitIntegerI32, ARM::ssub_0,
    OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                    MVT::v4f16, 3, 1, 0, 2,
   36, MVT::v8f16,
    OPC_Scope, 16,
     OPC_CheckPatternPredicate1,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8f16, 0,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8f16, 3, 1, 0, 2,
    16,
     OPC_CheckPatternPredicate0,
     OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                     MVT::v8f16, 0,
     OPC_EmitIntegerI32, ARM::ssub_0,
     OPC_MorphNodeTo1None, TARGET_VAL(TargetOpcode::INSERT_SUBREG),
                     MVT::v8f16, 3, 1, 0, 2,
    0,
   0,
  0,
 34, TARGET_VAL(ARMISD::VTBL2),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_RecordChild2,
  OPC_CheckPatternPredicate1,
  OPC_EmitIntegerI32, 67|128,0,
  OPC_EmitIntegerI32, ARM::dsub_0,
  OPC_EmitIntegerI32, ARM::dsub_1,
  OPC_EmitNode1None, TARGET_VAL(TargetOpcode::REG_SEQUENCE),
                  MVT::v16i8, 5, 3, 0, 4, 1, 5,
  OPC_EmitIntegerI32, 14,
  OPC_EmitRegisterI32, 0 ,
  OPC_MorphNodeTo1None, TARGET_VAL(ARM::VTBL2),
                  MVT::v8i8, 4, 6, 2, 7, 8,
 49, TARGET_VAL(ARMISD::VCVTN),
  OPC_RecordChild0,
  OPC_RecordChild1,
  OPC_CheckChild1Type, 4|128,1,
  OPC_CheckType, MVT::v8f16,
  OPC_Scope, 19,
   OPC_CheckChild2Integer, 0,
   OPC_CheckPatternPredicate2,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf16f32bh),
                   MVT::v8f16, 5, 0, 1, 2, 3, 4,
  19,
   OPC_CheckChild2Integer, 1,
   OPC_CheckPatternPredicate2,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf16f32th),
                   MVT::v8f16, 5, 0, 1, 2, 3, 4,
  0,
 60, TARGET_VAL(ARMISD::VCVTL),
  OPC_RecordChild0,
  OPC_CheckChild0Type, MVT::v8f16,
  OPC_CheckType, 4|128,1,
  OPC_Scope, 25,
   OPC_CheckChild1Integer, 0,
   OPC_CheckPatternPredicate2,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf32f16bh),
                   4|128,1, 5, 0, 1, 2, 3, 4,
  25,
   OPC_CheckChild1Integer, 1,
   OPC_CheckPatternPredicate2,
   OPC_EmitIntegerI32, 0,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitRegisterI32, 0 ,
   OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                   MVT::v4i32, 0,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VCVTf32f16th),
                   4|128,1, 5, 0, 1, 2, 3, 4,
  0,
 69, TARGET_VAL(ARMISD::VMOVFPIMM),
  OPC_RecordChild0,
  OPC_MoveChild0,
  OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
  OPC_MoveParent,
  OPC_SwitchType , 14, 2|128,1,
   OPC_CheckPatternPredicate1,
   OPC_EmitIntegerI32, 14,
   OPC_EmitRegisterI32, 0 ,
   OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVv2f32),
                   2|128,1, 3, 0, 1, 2,
  41, 4|128,1,
   OPC_Scope, 14,
    OPC_CheckPatternPredicate1,
    OPC_EmitIntegerI32, 14,
    OPC_EmitRegisterI32, 0 ,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::VMOVv4f32),
                    4|128,1, 3, 0, 1, 2,
   23,
    OPC_CheckPatternPredicate0,
    OPC_EmitIntegerI32, 0,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitRegisterI32, 0 ,
    OPC_EmitNode1None, TARGET_VAL(TargetOpcode::IMPLICIT_DEF),
                    MVT::v4i32, 0,
    OPC_MorphNodeTo1None, TARGET_VAL(ARM::MVE_VMOVimmf32),
                    4|128,1, 5, 0, 1, 2, 3, 4,
   0,
  0,
 0,
    0
  }; // Total Array size is 188591 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 (Subtarget->hasMVEIntegerOps());
  case 1: return (Subtarget->hasNEON());
  case 2: return (Subtarget->hasMVEFloatOps());
  case 3: return (!Subtarget->isThumb());
  case 4: return (Subtarget->isThumb2());
  case 5: return (Subtarget->hasDSP()) && (Subtarget->isThumb2());
  case 6: return (Subtarget->hasNEON()) && (MF->getDataLayout().isLittleEndian());
  case 7: return (Subtarget->hasMVEIntegerOps()) && (MF->getDataLayout().isLittleEndian());
  case 8: return (Subtarget->hasNEON()) && (MF->getDataLayout().isBigEndian());
  case 9: return (Subtarget->hasV6Ops()) && (!Subtarget->isThumb());
  case 10: return (Subtarget->hasNEON()) && (((Subtarget->useFPVMLx() &&  TM.Options.AllowFPOpFusion != FPOpFusion::Fast) ||Subtarget->hasMinSize()));
  case 11: return (Subtarget->hasFullFP16());
  case 12: return (Subtarget->isThumb()) && (Subtarget->isThumb1Only());
  case 13: return (Subtarget->hasFullFP16()) && (Subtarget->hasNEON());
  case 14: return (Subtarget->hasMVEIntegerOps()) && (MF->getDataLayout().isBigEndian());
  case 15: return (Subtarget->hasFP64()) && (Subtarget->hasFPARMv8Base());
  case 16: return (Subtarget->hasFPARMv8Base());
  case 17: return (Subtarget->hasFP64()) && (Subtarget->hasVFP2Base());
  case 18: return (!Subtarget->useNEONForSinglePrecisionFP()) && (Subtarget->hasVFP2Base());
  case 19: return (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb());
  case 20: return (Subtarget->hasFP64()) && (Subtarget->hasVFP2Base()) && (((Subtarget->useFPVMLx() &&  TM.Options.AllowFPOpFusion != FPOpFusion::Fast) ||Subtarget->hasMinSize()));
  case 21: return (!Subtarget->useNEONForSinglePrecisionFP()) && (Subtarget->hasVFP2Base()) && (((Subtarget->useFPVMLx() &&  TM.Options.AllowFPOpFusion != FPOpFusion::Fast) ||Subtarget->hasMinSize()));
  case 22: return (Subtarget->hasCDEOps()) && (Subtarget->hasMVEIntegerOps());
  case 23: return (Subtarget->hasFullFP16()) && (Subtarget->hasNEON()) && (((Subtarget->useFPVMLx() &&  TM.Options.AllowFPOpFusion != FPOpFusion::Fast) ||Subtarget->hasMinSize()));
  case 24: return (Subtarget->hasNEON()) && (Subtarget->hasV8Ops());
  case 25: return (Subtarget->hasFullFP16()) && (Subtarget->hasNEON()) && (Subtarget->hasV8Ops());
  case 26: return (Subtarget->hasFP64()) && (Subtarget->hasVFP4Base()) && (TM.Options.AllowFPOpFusion ==  FPOpFusion::Fast && Subtarget->useFPVFMx());
  case 27: return (!Subtarget->useNEONForSinglePrecisionFP()) && (Subtarget->hasVFP4Base()) && (TM.Options.AllowFPOpFusion ==  FPOpFusion::Fast && Subtarget->useFPVFMx());
  case 28: return (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps());
  case 29: return (Subtarget->hasV8_1MMainlineOps());
  case 30: return (Subtarget->hasFullFP16()) && (((Subtarget->useFPVMLx() &&  TM.Options.AllowFPOpFusion != FPOpFusion::Fast) ||Subtarget->hasMinSize()));
  case 31: return (Subtarget->hasFullFP16()) && (TM.Options.AllowFPOpFusion ==  FPOpFusion::Fast && Subtarget->useFPVFMx());
  case 32: return (!Subtarget->useNEONForSinglePrecisionFP()) && (Subtarget->hasFullFP16()) && (((Subtarget->useFPVMLx() &&  TM.Options.AllowFPOpFusion != FPOpFusion::Fast) ||Subtarget->hasMinSize()));
  case 33: return (Subtarget->hasNEON()) && (Subtarget->hasVFP4Base()) && (TM.Options.AllowFPOpFusion ==  FPOpFusion::Fast && Subtarget->useFPVFMx());
  case 34: return (Subtarget->hasVFP2Base());
  case 35: return (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps());
  case 36: return (Subtarget->hasFP16());
  case 37: return (Subtarget->hasBF16()) && (Subtarget->hasNEON());
  case 38: return (Subtarget->hasAcquireRelease()) && (Subtarget->hasV7Clrex()) && (Subtarget->isThumb());
  case 39: return (Subtarget->hasFP64()) && (Subtarget->hasVFP4Base());
  case 40: return (Subtarget->hasVFP4Base());
  case 41: return (Subtarget->hasNEON()) && (Subtarget->hasV8_1aOps());
  case 42: return (Subtarget->hasV8MBaselineOps()) && (Subtarget->isThumb());
  case 43: return (Subtarget->hasV6T2Ops()) && (!Subtarget->isThumb());
  case 44: return (Subtarget->hasCDEOps()) && (Subtarget->hasFPRegs());
  case 45: return (Subtarget->hasCDEOps()) && (Subtarget->hasMVEFloatOps());
  case 46: return (Subtarget->hasFPRegs());
  case 47: return (!Subtarget->useNEONForSinglePrecisionFP()) && (Subtarget->hasFullFP16()) && (TM.Options.AllowFPOpFusion ==  FPOpFusion::Fast && Subtarget->useFPVFMx());
  case 48: return (Subtarget->hasMVEIntegerOps()) && (Subtarget->hasV8_1MMainlineOps());
  case 49: return (Subtarget->isThumb1Only());
  case 50: return (Subtarget->hasV6Ops()) && (Subtarget->isThumb()) && (Subtarget->isThumb1Only());
  case 51: return (Subtarget->hasMatMulInt8());
  case 52: return (Subtarget->isThumb());
  case 53: return (Subtarget->hasNEON()) && (Subtarget->useNEONForSinglePrecisionFP());
  case 54: return (Subtarget->hasFPRegs16());
  case 55: return (!Subtarget->isThumb()) && (!Subtarget->hasV8Ops());
  case 56: return (Subtarget->isThumb2()) && (!Subtarget->hasV8Ops());
  case 57: return (Subtarget->hasCDEOps());
  case 58: return (Subtarget->hasCRC()) && (!Subtarget->isThumb());
  case 59: return (Subtarget->hasCRC()) && (Subtarget->isThumb2());
  case 60: return (Subtarget->hasSHA2()) && (Subtarget->hasV8Ops());
  case 61: return (Subtarget->hasAcquireRelease()) && (Subtarget->hasV7Clrex()) && (!Subtarget->isThumb());
  case 62: return (Subtarget->hasFullFP16()) && (Subtarget->hasNEON()) && (TM.Options.AllowFPOpFusion ==  FPOpFusion::Fast && Subtarget->useFPVFMx());
  case 63: return (Subtarget->hasNEON()) && (Subtarget->hasVFP4Base());
  case 64: return (Subtarget->has8MSecExt()) && (Subtarget->isThumb());
  case 65: return (Subtarget->hasAES()) && (Subtarget->hasV8Ops());
  case 66: return (Subtarget->hasLOB()) && (Subtarget->hasV8_1MMainlineOps()) && (Subtarget->isThumb2());
  case 67: return (Subtarget->hasV6Ops()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps());
  case 68: return (!Subtarget->isThumb()) && (!Subtarget->hasV6Ops());
  case 69: return (Subtarget->hasDotProd());
  case 70: return (Subtarget->hasFullFP16()) && (Subtarget->hasNEON()) && (Subtarget->hasV8_3aOps());
  case 71: return (Subtarget->hasNEON()) && (Subtarget->hasV8_3aOps());
  case 72: return (!Subtarget->isThumb()) && (Subtarget->useMovt() && Subtarget->allowPositionIndependentMovt());
  case 73: return (Subtarget->hasFPARMv8Base()) && (Subtarget->hasNEON());
  case 74: return (Subtarget->hasFPARMv8Base()) && (Subtarget->hasFullFP16()) && (Subtarget->hasNEON());
  case 75: return (Subtarget->isThumb2()) && (Subtarget->useMulOps());
  case 76: return (Subtarget->hasV7Ops()) && (!Subtarget->isThumb());
  case 77: return (Subtarget->hasDataBarrier()) && (!Subtarget->isThumb());
  case 78: return (Subtarget->hasDataBarrier()) && (Subtarget->isThumb());
  case 79: return (Subtarget->hasV7Ops()) && (Subtarget->isThumb2());
  case 80: return (!Subtarget->useMovt() || !Subtarget->allowPositionIndependentMovt()) && (!Subtarget->isThumb());
  case 81: return (MF->getDataLayout().isLittleEndian()) && (Subtarget->isThumb()) && (Subtarget->isThumb1Only());
  case 82: return (Subtarget->hasV6T2Ops()) && (Subtarget->isThumb2());
  case 83: return (Subtarget->hasV5TOps()) && (!Subtarget->isThumb());
  case 84: return (Subtarget->hasV4TOps()) && (!Subtarget->isThumb());
  case 85: return (!Subtarget->isThumb()) && (!Subtarget->hasV4TOps());
  case 86: return (!Subtarget->isThumb()) && (Subtarget->useMovt());
  case 87: return (Subtarget->hasNEON()) && (((Subtarget->useFPVMLx() &&  TM.Options.AllowFPOpFusion != FPOpFusion::Fast) ||Subtarget->hasMinSize())) && (Subtarget->useNEONForSinglePrecisionFP());
  case 88: return (Subtarget->hasVFP4Base()) && (TM.Options.AllowFPOpFusion ==  FPOpFusion::Fast && Subtarget->useFPVFMx()) && (Subtarget->useNEONForSinglePrecisionFP());
  case 89: return (Subtarget->hasFP16()) && (Subtarget->hasNEON());
  case 90: return (!Subtarget->hasFPRegs16()) && (!Subtarget->isThumb());
  case 91: return (!Subtarget->hasFPRegs16()) && (Subtarget->isThumb());
  case 92: return (Subtarget->isThumb()) && (Subtarget->isTargetWindows());
  case 93: return (Subtarget->hasMPExtension()) && (Subtarget->hasV7Ops()) && (Subtarget->isThumb2());
  case 94: return (Subtarget->hasMPExtension()) && (Subtarget->hasV7Ops()) && (!Subtarget->isThumb());
  case 95: return (Subtarget->hasV5TOps()) && (!Subtarget->isThumb()) && ( !MF->getSubtarget<ARMSubtarget>().hardenSlsBlr() );
  case 96: return (Subtarget->hasV5TOps()) && (!Subtarget->isThumb()) && ( MF->getSubtarget<ARMSubtarget>().hardenSlsBlr() );
  case 97: return (!Subtarget->useMovt()) && (!Subtarget->isThumb());
  case 98: return (Subtarget->genExecuteOnly() && Subtarget->isThumb1Only() && !Subtarget->hasV8MBaselineOps());
  case 99: return (Subtarget->hasV8MBaselineOps()) && (Subtarget->isThumb()) && (Subtarget->useMovt());
  case 100: return (!Subtarget->useMovt() || !Subtarget->allowPositionIndependentMovt()) && (Subtarget->isThumb());
  case 101: return (!Subtarget->useMovt() || !Subtarget->allowPositionIndependentMovt()) && (Subtarget->hasV8MBaselineOps()) && (Subtarget->isThumb());
  case 102: return (Subtarget->hasNEON()) && (Subtarget->hasSlowVGETLNi32());
  case 103: return (Subtarget->hasBF16()) && (Subtarget->hasFullFP16()) && (Subtarget->hasNEON());
  case 104: return (Subtarget->hasDivideInARMMode()) && (!Subtarget->isThumb());
  case 105: return (Subtarget->hasDivideInThumbMode()) && (Subtarget->hasV8MBaselineOps()) && (Subtarget->isThumb());
  case 106: return (Subtarget->hasFPRegs()) && (Subtarget->preferVMOVSR() ||!Subtarget->useNEONForSinglePrecisionFP());
  case 107: return (!Subtarget->preferVMOVSR() &&Subtarget->useNEONForSinglePrecisionFP()) && (Subtarget->hasNEON());
  case 108: return (Subtarget->hasFP64()) && (!TM.Options.HonorSignDependentRoundingFPMath());
  case 109: return (!TM.Options.HonorSignDependentRoundingFPMath());
  case 110: return (Subtarget->hasZeroCycleZeroing());
  case 111: return (!Subtarget->hasSlowVDUP32()) && (Subtarget->hasNEON());
  case 112: return (Subtarget->hasNEON()) && (Subtarget->hasSlowVDUP32());
  case 113: return (Subtarget->hasV8MBaselineOps());
  case 114: return (Subtarget->hasV6MOps()) && (Subtarget->isThumb());
  case 115: return (Subtarget->hasV6KOps()) && (!Subtarget->isThumb());
  case 116: return (Subtarget->hasV7Clrex()) && (Subtarget->isThumb());
  case 117: return (!Subtarget->isThumb()) && (!Subtarget->hasV6Ops()) && (Subtarget->useMulOps());
  case 118: return (Subtarget->hasFPRegs64());
  case 119: return (Subtarget->hasV6T2Ops()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps());
  case 120: return ( !MF->getInfo<ARMFunctionInfo>()->shouldSignReturnAddress(true) );
  case 121: return ( MF->getInfo<ARMFunctionInfo>()->shouldSignReturnAddress(true) );
  case 122: return (!Subtarget->isMClass()) && (Subtarget->isThumb2());
  case 123: return (Subtarget->hasV5TOps()) && (Subtarget->isThumb()) && ( !MF->getSubtarget<ARMSubtarget>().hardenSlsBlr() );
  case 124: return (Subtarget->hasV5TOps()) && (Subtarget->isThumb()) && ( MF->getSubtarget<ARMSubtarget>().hardenSlsBlr() );
  case 125: return (!Subtarget->genExecuteOnly()) && (!Subtarget->useMovt()) && (Subtarget->isThumb());
  case 126: return (!Subtarget->useMovt()) && (Subtarget->isThumb());
  case 127: return (Subtarget->isThumb2()) && (Subtarget->useMovt());
  case 128: return (Subtarget->hasV8MBaselineOps()) && (Subtarget->isThumb()) && (Subtarget->useMovt() && Subtarget->allowPositionIndependentMovt());
  case 129: return (Subtarget->isThumb2()) && (Subtarget->useMovt() && Subtarget->allowPositionIndependentMovt());
  case 130: return (Subtarget->hasFPRegs()) && (!Subtarget->hasSlowVGETLNi32());
  case 131: return (!Subtarget->hasSlowVGETLNi32()) && (Subtarget->hasNEON());
  case 132: return (!Subtarget->useMovt()) && (Subtarget->genExecuteOnly()) && (Subtarget->isThumb1Only());
  case 133: return (Subtarget->isThumb()) && (Subtarget->useMovt());
  case 134: return (!Subtarget->isThumb()) && (!Subtarget->hasV5TOps());
  case 135: return (Subtarget->hasV5TOps()) && (Subtarget->isThumb());
  case 136: return (Subtarget->isThumb()) && (!Subtarget->hasV5TOps());
  case 137: return (!Subtarget->isThumb()) && (Subtarget->isReadTPSoft());
  case 138: return (!Subtarget->isThumb()) && (Subtarget->isReadTPTPIDRURW());
  case 139: return (!Subtarget->isThumb()) && (Subtarget->isReadTPTPIDRURO());
  case 140: return (!Subtarget->isThumb()) && (Subtarget->isReadTPTPIDRPRW());
  case 141: return (Subtarget->isReadTPSoft()) && (Subtarget->isThumb());
  case 142: return (Subtarget->isReadTPTPIDRURW()) && (Subtarget->isThumb2());
  case 143: return (Subtarget->isReadTPTPIDRURO()) && (Subtarget->isThumb2());
  case 144: return (Subtarget->isReadTPTPIDRPRW()) && (Subtarget->isThumb2());
  case 145: return (!Subtarget->isTargetWindows()) && (Subtarget->isThumb());
  case 146: return (Subtarget->hasVFP2Base()) && (!Subtarget->isThumb());
  case 147: return (!Subtarget->isThumb()) && (!Subtarget->hasVFP2Base());
  case 148: return (Subtarget->hasVFP2Base()) && (Subtarget->isThumb2());
  case 149: return (Subtarget->isThumb2()) && (!Subtarget->hasVFP2Base());
  case 150: return (Subtarget->hasFP64()) && (Subtarget->hasVFP3Base());
  case 151: return (Subtarget->hasVFP3Base());
  }
}
#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_ARMcsinc_su
    // Predicate_and_su
    // Predicate_fmul_su
    // Predicate_xor_su
    SDNode *N = Op.getNode();
    (void)N;
if (!N->hasNUsesOfValue(1, 0)) return false;
return true;

  }
  case 1: {
    // Predicate_fadd_mlx
    // Predicate_fsub_mlx
    SDNode *N = Op.getNode();
    (void)N;

  return hasNoVMLxHazardUse(N);

  }
  case 2: {
    // Predicate_atomic_load_aext_8
    // Predicate_atomic_load_zext_8
    // Predicate_atomic_store_8
    // Predicate_extloadi8
    // Predicate_post_truncsti8
    // Predicate_pre_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 3: {
    // Predicate_atomic_load_aext_16
    // Predicate_atomic_load_zext_16
    // Predicate_atomic_store_16
    // Predicate_extloadi16
    // Predicate_post_truncsti16
    // Predicate_pre_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 4: {
    // Predicate_istore
    // Predicate_store
    SDNode *N = Op.getNode();
    (void)N;
 if (cast<StoreSDNode>(N)->isTruncatingStore()) return false;
return true;

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

       // Reject a match against bitconvert (aka ISD::BITCAST) if big-endian
       return !(CurDAG->getDataLayout().isBigEndian() &&
                N->getOpcode() == ISD::BITCAST);
    
  }
  case 6: {
    // 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 7: {
    // Predicate_unindexedstore
    SDNode *N = Op.getNode();
    (void)N;
if (cast<StoreSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
return true;

  }
  case 8: {
    // Predicate_aligned32_post_store
    // Predicate_aligned32_pre_store
    // Predicate_alignedstore32
    SDNode *N = Op.getNode();
    (void)N;

  return cast<StoreSDNode>(N)->getAlign() >= 4;

  }
  case 9: {
    // Predicate_pre_store
    // Predicate_pre_truncst
    SDNode *N = Op.getNode();
    (void)N;

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

  }
  case 10: {
    // Predicate_extloadvi8
    // Predicate_sextloadvi8
    // Predicate_zextloadvi8
    SDNode *N = Op.getNode();
    (void)N;
if (cast<LoadSDNode>(N)->getMemoryVT().getScalarType() != MVT::i8) return false;
return true;

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

  return Imm >= 0 && Imm < 32;

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

    int32_t v = N->getZExtValue();
    return v == 8 || v == 16 || v == 24; 
  }
  case 13: {
    // Predicate_t2_so_imm
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();

    return ARM_AM::getT2SOImmVal(Imm) != -1;
  
  }
  case 14: {
    // Predicate_sext_16_node
    SDNode *N = Op.getNode();
    (void)N;

  return CurDAG->ComputeNumSignBits(Op) >= 17;

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

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

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

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

  }
  case 19: {
    // Predicate_asr_imm
    // Predicate_long_shift
    // Predicate_pkh_asr_amt
    // Predicate_shr_imm32
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return Imm > 0 && Imm <= 32; 
  }
  case 20: {
    // Predicate_mod_imm
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();

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

  }
  case 22: {
    // Predicate_aligned16_post_store
    // Predicate_aligned16_pre_store
    // Predicate_alignedstore16
    SDNode *N = Op.getNode();
    (void)N;

  return cast<StoreSDNode>(N)->getAlign() >= 2;

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

  return Imm >= 0 && Imm < 16;

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

  }
  case 25: {
    // Predicate_extloadvi16
    // Predicate_sextloadvi16
    // Predicate_zextloadvi16
    SDNode *N = Op.getNode();
    (void)N;
if (cast<LoadSDNode>(N)->getMemoryVT().getScalarType() != MVT::i16) return false;
return true;

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

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

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

  return Imm >= 0 && Imm < 8;

  }
  case 29: {
    // Predicate_shr_imm8
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return Imm > 0 && Imm <= 8; 
  }
  case 30: {
    // Predicate_shr_imm16
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return Imm > 0 && Imm <= 16; 
  }
  case 31: {
    // Predicate_ldaex_1
    // Predicate_ldrex_1
    // Predicate_stlex_1
    // Predicate_strex_1
    SDNode *N = Op.getNode();
    (void)N;

  return cast<MemIntrinsicSDNode>(N)->getMemoryVT() == MVT::i8;

  }
  case 32: {
    // Predicate_ldaex_2
    // Predicate_ldrex_2
    // Predicate_stlex_2
    // Predicate_strex_2
    SDNode *N = Op.getNode();
    (void)N;

  return cast<MemIntrinsicSDNode>(N)->getMemoryVT() == MVT::i16;

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

  }
  case 34: {
    // Predicate_imm_odd
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return (Imm & 1) == 1; 
  }
  case 35: {
    // Predicate_VectorIndex32
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();

  return ((uint64_t)Imm) < 2;

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

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

  ConstantSDNode *ConstVal = cast<ConstantSDNode>(N->getOperand(0));
  unsigned EltBits = 0;
  uint64_t EltVal = ARM_AM::decodeVMOVModImm(ConstVal->getZExtValue(), EltBits);
  return (EltBits == N->getValueType(0).getScalarSizeInBits() && EltVal == 0x01);

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

  return cast<StoreSDNode>(N)->getAlign() == 2;

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

  return cast<LoadSDNode>(N)->getAlign() >= 4;

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

  AtomicOrdering Ordering = cast<AtomicSDNode>(N)->getSuccessOrdering();
  return isAcquireOrStronger(Ordering);

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

  return cast<StoreSDNode>(N)->getAlign() == 1;

  }
  case 42: {
    // Predicate_aligned_maskedstvi8
    // Predicate_aligned_post_maskedstorevi8
    // Predicate_aligned_post_truncmaskedstvi8
    // Predicate_aligned_pre_maskedstorevi8
    // Predicate_aligned_pre_truncmaskedstvi8
    // Predicate_aligned_truncmaskedstvi8
    SDNode *N = Op.getNode();
    (void)N;

  return cast<MaskedStoreSDNode>(N)->getMemoryVT().getScalarType() == MVT::i8;

  }
  case 43: {
    // Predicate_aligned_maskedstvi16
    // Predicate_aligned_post_maskedstorevi16
    // Predicate_aligned_post_truncmaskedstvi16
    // Predicate_aligned_pre_maskedstorevi16
    // Predicate_aligned_pre_truncmaskedstvi16
    // Predicate_aligned_truncmaskedstvi16
    SDNode *N = Op.getNode();
    (void)N;

  auto *St = cast<MaskedStoreSDNode>(N);
  EVT ScalarVT = St->getMemoryVT().getScalarType();
  return (ScalarVT == MVT::i16 || ScalarVT == MVT::f16) && St->getAlign() >= 2;

  }
  case 44: {
    // Predicate_imm8_or_16
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return Imm == 8 || Imm == 16;
  }
  case 45: {
    // Predicate_ldaex_4
    // Predicate_ldrex_4
    // Predicate_stlex_4
    // Predicate_strex_4
    SDNode *N = Op.getNode();
    (void)N;

  return cast<MemIntrinsicSDNode>(N)->getMemoryVT() == MVT::i32;

  }
  case 46: {
    // Predicate_imm_even
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return (Imm & 1) == 0; 
  }
  case 47: {
    // Predicate_imm0_255
    // Predicate_imm0_255_expr
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return Imm >= 0 && Imm < 256; 
  }
  case 48: {
    // Predicate_atomic_load_nonext
    SDNode *N = Op.getNode();
    (void)N;
if (cast<AtomicSDNode>(N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
return true;

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

  return (int32_t)Imm >= 16 && (int32_t)Imm < 32;

  }
  case 50: {
    // Predicate_post_truncstvi8
    // Predicate_pre_truncstvi8
    // Predicate_truncstorevi8
    SDNode *N = Op.getNode();
    (void)N;
if (cast<StoreSDNode>(N)->getMemoryVT().getScalarType() != MVT::i8) return false;
return true;

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

  return Imm >= 0 && Imm < 65536;

  }
  case 52: {
    // Predicate_atomic_store_release_16
    // Predicate_atomic_store_release_32
    // Predicate_atomic_store_release_8
    SDNode *N = Op.getNode();
    (void)N;

  AtomicOrdering Ordering = cast<AtomicSDNode>(N)->getSuccessOrdering();
  return isReleaseOrStronger(Ordering);

  }
  case 53: {
    // Predicate_aligned_maskedstvi32
    // Predicate_aligned_post_maskedstorevi32
    // Predicate_aligned_pre_maskedstorevi32
    SDNode *N = Op.getNode();
    (void)N;

  auto *St = cast<MaskedStoreSDNode>(N);
  EVT ScalarVT = St->getMemoryVT().getScalarType();
  return (ScalarVT == MVT::i32 || ScalarVT == MVT::f32) && St->getAlign() >= 4;

  }
  case 54: {
    // Predicate_imm1_15
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return Imm > 0 && Imm < 16; 
  }
  case 55: {
    // Predicate_t2_so_imm_not
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  return ARM_AM::getT2SOImmVal(~((uint32_t)N->getZExtValue())) != -1;

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

  return cast<LoadSDNode>(N)->getAlign() >= 2;

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

  return cast<LoadSDNode>(N)->getAlign() == 2;

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

  ISD::MemIndexedMode AM = cast<MaskedStoreSDNode>(N)->getAddressingMode();
  return AM == ISD::PRE_INC || AM == ISD::PRE_DEC;

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

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

  }
  case 60: {
    // Predicate_pkh_lsl_amt
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return Imm >= 0 && Imm < 32; 
  }
  case 61: {
    // Predicate_mod_imm_neg
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

    unsigned Value = -(unsigned)N->getZExtValue();
    return Value && ARM_AM::getSOImmVal(Value) != -1;
  
  }
  case 62: {
    // Predicate_t2_so_imm_neg
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();

  return Imm && ARM_AM::getT2SOImmVal(-(uint32_t)Imm) != -1;

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

    return ARM_AM::getSOImmVal(~(uint32_t)Imm) != -1;
  
  }
  case 64: {
    // Predicate_imm_sr
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();

  return Imm > 0 && Imm <= 32;

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

  return cast<LoadSDNode>(N)->getAlign() == 1;

  }
  case 66: {
    // Predicate_imm1_31
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return Imm > 0 && Imm < 32; 
  }
  case 67: {
    // Predicate_fadd_contract
    SDNode *N = Op.getNode();
    (void)N;

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

  }
  case 68: {
    // Predicate_addnsw
    // Predicate_subnsw
    SDNode *N = Op.getNode();
    (void)N;

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

  }
  case 69: {
    // Predicate_addnuw
    // Predicate_subnuw
    SDNode *N = Op.getNode();
    (void)N;

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

  }
  case 70: {
    // Predicate_imm16
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return Imm == 16; 
  }
  case 71: {
    // Predicate_imm0_4095
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();

  return Imm >= 0 && Imm < 4096;

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

  return -Imm >= 0 && -Imm < 65536;

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

  return Op.getValueType() == MVT::i32 &&
         CurDAG->MaskedValueIsZero(Op, APInt::getHighBitsSet(32, 31));
  
  }
  case 74: {
    // Predicate_bf_inv_mask_imm
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  return ARM::isBitFieldInvertedMask(N->getZExtValue());

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

   uint64_t Imm = N->getZExtValue();
   return Imm > 0 && Imm <= 32;
 
  }
  case 76: {
    // Predicate_post_truncstvi16
    // Predicate_pre_truncstvi16
    // Predicate_truncstorevi16
    SDNode *N = Op.getNode();
    (void)N;
if (cast<StoreSDNode>(N)->getMemoryVT().getScalarType() != MVT::i16) return false;
return true;

  }
  case 77: {
    // Predicate_extloadvi32
    // Predicate_sextloadvi32
    // Predicate_zextloadvi32
    SDNode *N = Op.getNode();
    (void)N;
if (cast<LoadSDNode>(N)->getMemoryVT().getScalarType() != MVT::i32) return false;
return true;

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

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

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

  ISD::MemIndexedMode AM = cast<MaskedStoreSDNode>(N)->getAddressingMode();
  return cast<MaskedStoreSDNode>(N)->isTruncatingStore() && (AM == ISD::PRE_INC || AM == ISD::PRE_DEC);

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

  auto *Ld = cast<MaskedLoadSDNode>(N);
  return Ld->getMemoryVT().getScalarType() == MVT::i8;

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

  auto *Ld = cast<MaskedLoadSDNode>(N);
  EVT ScalarVT = Ld->getMemoryVT().getScalarType();
  return (ScalarVT == MVT::i16 || ScalarVT == MVT::f16) && Ld->getAlign() >= 2;

  }
  case 82: {
    // Predicate_aligned_extmaskedloadvi16
    // Predicate_aligned_extmaskedloadvi8
    SDNode *N = Op.getNode();
    (void)N;

  auto *Ld = cast<MaskedLoadSDNode>(N);
  EVT ScalarVT = Ld->getMemoryVT().getScalarType();
  return ScalarVT.isInteger() && Ld->getExtensionType() == ISD::EXTLOAD;

  }
  case 83: {
    // Predicate_aligned_sextmaskedloadvi16
    // Predicate_aligned_sextmaskedloadvi8
    SDNode *N = Op.getNode();
    (void)N;

  return cast<MaskedLoadSDNode>(N)->getExtensionType() == ISD::SEXTLOAD;

  }
  case 84: {
    // Predicate_aligned_zextmaskedloadvi16
    // Predicate_aligned_zextmaskedloadvi8
    SDNode *N = Op.getNode();
    (void)N;

  return cast<MaskedLoadSDNode>(N)->getExtensionType() == ISD::ZEXTLOAD;

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

  // Returns true if all low 16-bits are 0.
  return (((uint32_t)N->getZExtValue()) & 0xFFFFUL) == 0;

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

  return Imm >= 8 && Imm < 256;

  }
  case 87: {
    // Predicate_non_imm32
    SDNode *N = Op.getNode();
    (void)N;
 return !isa<ConstantSDNode>(N); 
  }
  case 88: {
    // Predicate_imm1_255_neg
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  uint32_t Val = -N->getZExtValue();
  return (Val > 0 && Val < 255);

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

  return !Op.getValueType().isVector() &&
         CurDAG->MaskedValueIsZero(Op, APInt::getHighBitsSet(32, 16));
  
  }
  case 90: {
    // Predicate_VectorIndex16
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();

  return ((uint64_t)Imm) < 4;

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

  return cast<StoreSDNode>(N)->getAlign() == 4;

  }
  case 92: {
    // Predicate_imm0_239
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return Imm >= 0 && Imm < 240; 
  }
  case 93: {
    // Predicate_word_alignedload
    SDNode *N = Op.getNode();
    (void)N;

  return cast<LoadSDNode>(N)->getAlign() == 4;

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

  return cast<MaskedStoreSDNode>(N)->isTruncatingStore();

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

  auto *Ld = cast<MaskedLoadSDNode>(N);
  EVT ScalarVT = Ld->getMemoryVT().getScalarType();
  return (ScalarVT == MVT::i32 || ScalarVT == MVT::f32) && Ld->getAlign() >= 4;

  }
  case 96: {
    // Predicate_imm1_7
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();
 return Imm > 0 && Imm < 8; 
  }
  case 97: {
    // Predicate_imm0_7_neg
    auto *N = cast<ConstantSDNode>(Op.getNode());
    (void)N;

  return (uint32_t)-N->getZExtValue() < 8;

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

  unsigned Val = -N->getZExtValue();
  return Val >= 8 && Val < 256;

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

 return (uint32_t)(-N->getZExtValue()) < 4096;

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

    APInt apIntN = N->getAPIntValue();
    if (!apIntN.isIntN(16)) return false;
    unsigned N16bitSignExt = apIntN.trunc(16).sext(32).getZExtValue();
    return ARM_AM::getT2SOImmVal(~N16bitSignExt) != -1;
  
  }
  case 101: {
    // Predicate_imm1_16
    int64_t Imm = cast<ConstantSDNode>(Op.getNode())->getSExtValue();

    return Imm > 0 && Imm <= 16;
  
  }
  case 102: {
    // Predicate_non_word_alignedstore
    SDNode *N = Op.getNode();
    (void)N;

  return cast<StoreSDNode>(N)->getAlign() < 4;

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

  return cast<StoreSDNode>(N)->getAlign() >= 8;

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

  return cast<LoadSDNode>(N)->getAlign() < 4;

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

  return cast<LoadSDNode>(N)->getAlign() >= 8;

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

  // Returns true if all low 5-bits are 1.
  return (((uint32_t)N->getZExtValue()) & 0x1FUL) == 0x1FUL;

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

  return (uint32_t)(~N->getZExtValue()) < 255;

  }
  case 108: {
    // Predicate_arm_i32imm
    const APInt & Imm = Op->getAsAPIntVal();

  if (Subtarget->useMovt())
    return true;
  if (ARM_AM::isSOImmTwoPartVal(Imm.getZExtValue()))
    return true;
  return ARM_AM::isSOImmTwoPartValNeg(Imm.getZExtValue());

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

  return ARM_AM::isThumbImmShiftedVal((unsigned)N->getZExtValue());

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

  return ~((uint32_t)N->getZExtValue()) < 256;

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

  return Imm >= 256 && Imm < 511;

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

      return ARM_AM::getFP64Imm(N->getValueAPF()) != -1;
    
  }
  case 113: {
    // Predicate_vfp_f32imm
    auto *N = cast<ConstantFPSDNode>(Op.getNode());
    (void)N;

      return ARM_AM::getFP32Imm(N->getValueAPF()) != -1;
    
  }
  case 114: {
    // Predicate_vfp_f32f16imm
    auto *N = cast<ConstantFPSDNode>(Op.getNode());
    (void)N;

      return ARM_AM::getFP32FP16Imm(N->getValueAPF()) != -1;
    
  }
  case 115: {
    // Predicate_vfp_f16imm
    auto *N = cast<ConstantFPSDNode>(Op.getNode());
    (void)N;

      return ARM_AM::getFP16Imm(N->getValueAPF()) != -1;
    
  }
  }
}
#endif // GET_DAGISEL_BODY

#ifdef GET_DAGISEL_DECL
bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
      SDValue N, unsigned PatternNo,
      SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result) override;
#endif
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
      SDValue N, unsigned PatternNo,
      SmallVectorImpl<std::pair<SDValue, SDNode *>> &Result)
#if DAGISEL_INLINE
  override
#endif
{
  unsigned NextRes = Result.size();
  switch (PatternNo) {
  default: llvm_unreachable("Invalid pattern # in table?");
  case 0:
    Result.resize(NextRes+2);
  return SelectAddrMode6(Parent, N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 1:
    Result.resize(NextRes+1);
  return SelectAddrOffsetNone(N, Result[NextRes+0].first);
  case 2:
    Result.resize(NextRes+2);
  return SelectAddrMode5(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 3:
    Result.resize(NextRes+3);
  return SelectRegShifterOperand(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first);
  case 4:
    Result.resize(NextRes+2);
  return SelectImmShifterOperand(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 5:
    Result.resize(NextRes+2);
  return SelectT2AddrModeImm7<0>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 6:
    Result.resize(NextRes+2);
  return SelectShiftImmShifterOperand(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 7:
    Result.resize(NextRes+2);
  return SelectAddrMode6(Parent, N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 8:
    Result.resize(NextRes+1);
  return SelectT2AddrModeImm7Offset<0>(Root, N, Result[NextRes+0].first);
  case 9:
    Result.resize(NextRes+1);
  return SelectT2AddrModeImm7Offset<1>(Root, N, Result[NextRes+0].first);
  case 10:
    Result.resize(NextRes+2);
  return SelectT2AddrModeImm12(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 11:
    Result.resize(NextRes+3);
  return SelectT2AddrModeSoReg(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first);
  case 12:
    Result.resize(NextRes+2);
  return SelectT2AddrModeImm8(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 13:
    Result.resize(NextRes+2);
  return SelectThumbAddrModeRR(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 14:
    Result.resize(NextRes+2);
  return SelectT2AddrModeImm7<1>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 15:
    Result.resize(NextRes+2);
  return SelectT2AddrModeImm7<2>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 16:
    Result.resize(NextRes+1);
  return SelectT2AddrModeImm7Offset<2>(Root, N, Result[NextRes+0].first);
  case 17:
    Result.resize(NextRes+3);
  return SelectLdStSOReg(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first);
  case 18:
    Result.resize(NextRes+2);
  return SelectAddrModeImm12(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 19:
    Result.resize(NextRes+2);
  return SelectTAddrModeImm7<0>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 20:
    Result.resize(NextRes+3);
  return SelectAddrMode3(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first);
  case 21:
    Result.resize(NextRes+2);
  return SelectAddrModePC(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 22:
    Result.resize(NextRes+2);
  return SelectThumbAddrModeImm5S2(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 23:
    Result.resize(NextRes+2);
  return SelectThumbAddrModeImm5S1(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 24:
    Result.resize(NextRes+1);
  return SelectAddLikeOr(Parent, N, Result[NextRes+0].first);
  case 25:
    Result.resize(NextRes+1);
  return SelectImmediateInRange<1,8>(N, Result[NextRes+0].first);
  case 26:
    Result.resize(NextRes+1);
  return SelectImmediateInRange<1,16>(N, Result[NextRes+0].first);
  case 27:
    Result.resize(NextRes+2);
  return SelectTAddrModeImm7<1>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 28:
    Result.resize(NextRes+1);
  return SelectAddrMode6Offset(Root, N, Result[NextRes+0].first);
  case 29:
    Result.resize(NextRes+1);
  return SelectT2AddrModeImm8Offset(Root, N, Result[NextRes+0].first);
  case 30:
    Result.resize(NextRes+2);
  return SelectThumbAddrModeSP(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 31:
    Result.resize(NextRes+3);
  return SelectShiftRegShifterOperand(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first);
  case 32:
    Result.resize(NextRes+2);
  return SelectShiftImmShifterOperand(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 33:
    Result.resize(NextRes+2);
  return SelectAddrMode2OffsetReg(Root, N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 34:
    Result.resize(NextRes+2);
  return SelectAddrMode2OffsetImm(Root, N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 35:
    Result.resize(NextRes+2);
  return SelectThumbAddrModeImm5S4(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 36:
    Result.resize(NextRes+2);
  return SelectAddrMode5FP16(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 37:
    Result.resize(NextRes+2);
  return SelectTAddrModeImm7<2>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 38:
    Result.resize(NextRes+2);
  return SelectAddrMode3Offset(Root, N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 39:
    Result.resize(NextRes+2);
  return SelectShiftImmShifterOperandOneUse(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 40:
    Result.resize(NextRes+2);
  return SelectThumbAddrModeRRSext(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 41:
    Result.resize(NextRes+2);
  return SelectT2AddrModeExclusive(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 42:
    Result.resize(NextRes+2);
  return SelectT2AddrModeImm8<2>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 43:
    Result.resize(NextRes+2);
  return SelectAddrMode6(Parent, N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 44:
    Result.resize(NextRes+2);
  return SelectAddrMode6(Parent, N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 45:
    Result.resize(NextRes+2);
  return SelectAddrMode6(Parent, N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 46:
    Result.resize(NextRes+2);
  return SelectAddrMode6(Parent, N, Result[NextRes+0].first, Result[NextRes+1].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 CurDAG->getTargetConstant((uint32_t)N->getZExtValue() >> 16, SDLoc(N),
                                   MVT::i32);

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

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

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

  switch (N->getZExtValue()){
  default: llvm_unreachable(nullptr);
  case 0:  return CurDAG->getTargetConstant(0, SDLoc(N), MVT::i32);
  case 8:  return CurDAG->getTargetConstant(1, SDLoc(N), MVT::i32);
  case 16: return CurDAG->getTargetConstant(2, SDLoc(N), MVT::i32);
  case 24: return CurDAG->getTargetConstant(3, SDLoc(N), MVT::i32);
  }

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

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

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

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

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

  assert(ARM::dsub_7 == ARM::dsub_0+7 && "Unexpected subreg numbering");
  return CurDAG->getTargetConstant(ARM::dsub_0 + N->getZExtValue()/4, SDLoc(N),
                                   MVT::i32);

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

  return CurDAG->getTargetConstant(N->getZExtValue() & 3, SDLoc(N), MVT::i32);

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

  assert(ARM::dsub_7 == ARM::dsub_0+7 && "Unexpected subreg numbering");
  return CurDAG->getTargetConstant(ARM::dsub_0 + N->getZExtValue()/2, SDLoc(N),
                                   MVT::i32);

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

  return CurDAG->getTargetConstant(N->getZExtValue() & 1, SDLoc(N), MVT::i32);

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

  return CurDAG->getSignedTargetConstant(~(int)N->getZExtValue(), SDLoc(N),
                                         MVT::i32);

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

  APInt apIntN = N->getAPIntValue();
  unsigned N16bitSignExt = apIntN.trunc(16).sext(32).getZExtValue();
  return CurDAG->getTargetConstant(~N16bitSignExt, SDLoc(N), MVT::i32);

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

  return CurDAG->getTargetConstant((int)N->getZExtValue() - 1, SDLoc(N),
                                   MVT::i32);

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

  return CurDAG->getTargetConstant(0x20 | N->getZExtValue(), SDLoc(N), MVT:: i32);

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

  return CurDAG->getTargetConstant((int)N->getZExtValue() - 1, SDLoc(N),
                                   MVT::i32);

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

  unsigned Imm = N->getZExtValue();
  return CurDAG->getTargetConstant((Imm == 32 ? 0 : Imm), SDLoc(N), MVT::i32);

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

  ARMCC::CondCodes CC = static_cast<ARMCC::CondCodes>(N->getZExtValue());
  return CurDAG->getTargetConstant(ARMCC::getOppositeCondition(CC), SDLoc(N),
                                   MVT::i32);

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

  assert(ARM::dsub_7 == ARM::dsub_0+7 && "Unexpected subreg numbering");
  return CurDAG->getTargetConstant(ARM::dsub_0 + N->getZExtValue()/8, SDLoc(N),
                                   MVT::i32);

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

  return CurDAG->getTargetConstant(N->getZExtValue() & 7, SDLoc(N), MVT::i32);

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

  assert(ARM::ssub_3 == ARM::ssub_0+3 && "Unexpected subreg numbering");
  return CurDAG->getTargetConstant(ARM::ssub_0 + N->getZExtValue(), SDLoc(N),
                                   MVT::i32);

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

  assert(ARM::ssub_3 == ARM::ssub_0+3 && "Unexpected subreg numbering");
  return CurDAG->getTargetConstant(ARM::ssub_0 + N->getZExtValue()/2, SDLoc(N),
                                   MVT::i32);

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

  assert(ARM::dsub_7 == ARM::dsub_0+7 && "Unexpected subreg numbering");
  return CurDAG->getTargetConstant(ARM::dsub_0 + N->getZExtValue(), SDLoc(N),
                                   MVT::i32);

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

  unsigned V = ARM_AM::getThumbImmNonShiftedVal((unsigned)N->getZExtValue());
  return CurDAG->getTargetConstant(V, SDLoc(N), MVT::i32);

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

  unsigned V = ARM_AM::getThumbImmValShift((unsigned)N->getZExtValue());
  return CurDAG->getTargetConstant(V, SDLoc(N), MVT::i32);

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

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

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

      uint32_t Enc = ARM_AM::getFP64Imm(N->getValueAPF());
      return CurDAG->getTargetConstant(Enc, SDLoc(N), MVT::i32);
    
  }
  case 25: {  
    ConstantFPSDNode *N = cast<ConstantFPSDNode>(V.getNode());

      uint32_t Enc = ARM_AM::getFP32Imm(N->getValueAPF());
      return CurDAG->getTargetConstant(Enc, SDLoc(N), MVT::i32);
    
  }
  case 26: {  
    ConstantFPSDNode *N = cast<ConstantFPSDNode>(V.getNode());

      uint32_t Enc = ARM_AM::getFP32FP16Imm(N->getValueAPF());
      return CurDAG->getTargetConstant(Enc, SDLoc(N), MVT::i32);
    
  }
  case 27: {  
    ConstantFPSDNode *N = cast<ConstantFPSDNode>(V.getNode());

      uint32_t Enc = ARM_AM::getFP16Imm(N->getValueAPF());
      return CurDAG->getTargetConstant(Enc, 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
