/*===- 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.
  #define TARGET_VAL(X) X & 255, unsigned(X) >> 8
  static const unsigned char MatcherTable[] = {
 OPC_SwitchOpcode , 42|128,82, TARGET_VAL(ISD::OR),
  OPC_Scope, 101|128,5, 
   OPC_MoveChild0,
   OPC_Scope, 74, 
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 48, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 32, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckAndImm, 127|128,1, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Integer, 16, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 17, 
     OPC_CheckPatternPredicate, 0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::REVSH), 0,
                   MVT::i32, 3, 0, 1, 2, 
    17, 
     OPC_CheckPatternPredicate, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2REVSH), 0,
                   MVT::i32, 3, 0, 1, 2, 
    0, 
   74, 
    OPC_CheckAndImm, 127|128,1, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 16, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_CheckChild0Same, 0,
    OPC_CheckChild1Integer, 48, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 32, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 17, 
     OPC_CheckPatternPredicate, 0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::REVSH), 0,
                   MVT::i32, 3, 0, 1, 2, 
    17, 
     OPC_CheckPatternPredicate, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2REVSH), 0,
                   MVT::i32, 3, 0, 1, 2, 
    0, 
   53, 
    OPC_CheckAndImm, 127|128,127|128,3, 
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveChild1,
    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, 0,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 0,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHBT), 0,
                  MVT::i32, 5, 0, 1, 3, 4, 5, 
   94, 
    OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15, 
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveChild1,
    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, 1,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 0,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHTB), 0,
                   MVT::i32, 5, 0, 1, 3, 4, 5, 
    36, TARGET_VAL(ISD::SRL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 2,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 0,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHTB), 0,
                   MVT::i32, 5, 0, 1, 3, 4, 5, 
    0,
   53, 
    OPC_CheckAndImm, 127|128,127|128,3, 
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveChild1,
    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, 0,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 2,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHBT), 0,
                  MVT::i32, 5, 0, 1, 3, 4, 5, 
   17|128,1, 
    OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15, 
    OPC_Scope, 88, 
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_MoveChild1,
     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, 1,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 2,
      OPC_EmitConvertToTarget, 2,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHTB), 0,
                    MVT::i32, 5, 0, 1, 3, 4, 5, 
     36, TARGET_VAL(ISD::SRL),
      OPC_RecordChild0,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_CheckPredicate, 2,
      OPC_CheckType, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 2,
      OPC_EmitConvertToTarget, 2,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHTB), 0,
                    MVT::i32, 5, 0, 1, 3, 4, 5, 
     0,
    47, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 0,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckAndImm, 127|128,127|128,3, 
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 0,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHBT), 0,
                   MVT::i32, 5, 2, 0, 3, 4, 5, 
    0, 
   53, 
    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, 1,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15, 
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 0,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHTB), 0,
                  MVT::i32, 5, 2, 0, 3, 4, 5, 
   53, 
    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, 0,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckAndImm, 127|128,127|128,3, 
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 2,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHBT), 0,
                  MVT::i32, 5, 2, 0, 3, 4, 5, 
   0|128,1, 
    OPC_CheckAndImm, 127|128,127|128,3, 
    OPC_MoveChild0,
    OPC_SwitchOpcode , 45, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 1,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15, 
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 2,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHTB), 0,
                   MVT::i32, 5, 2, 0, 3, 4, 5, 
    70, TARGET_VAL(ISD::SRL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 2,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15, 
     OPC_RecordChild0,
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_Scope, 21, 
      OPC_CheckPatternPredicate, 0,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHTB), 0,
                    MVT::i32, 5, 2, 0, 3, 4, 5, 
     21, 
      OPC_CheckPatternPredicate, 2,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHTB), 0,
                    MVT::i32, 5, 2, 0, 3, 4, 5, 
     0, 
    0,
   0, 
  37, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 3, 
   OPC_MoveParent,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 1,
   OPC_CheckComplexPat, /*CP*/0, /*#*/1,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORNrs), 0,
                 MVT::i32, 6, 0, 2, 3, 4, 5, 6, 
  57|128,5, 
   OPC_MoveChild0,
   OPC_Scope, 36, 
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 3, 
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 1,
    OPC_CheckComplexPat, /*CP*/0, /*#*/0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORNrs), 0,
                  MVT::i32, 6, 1, 2, 3, 4, 5, 6, 
   65, 
    OPC_CheckAndImm, 127|128,127|128,3, 
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15, 
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 22, 
     OPC_CheckPatternPredicate, 0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHBT), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    22, 
     OPC_CheckPatternPredicate, 2,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHBT), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    0, 
   65, 
    OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15, 
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckAndImm, 127|128,127|128,3, 
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 22, 
     OPC_CheckPatternPredicate, 0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHBT), 0,
                   MVT::i32, 5, 1, 0, 2, 3, 4, 
    22, 
     OPC_CheckPatternPredicate, 2,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHBT), 0,
                   MVT::i32, 5, 1, 0, 2, 3, 4, 
    0, 
   45, 
    OPC_CheckAndImm, 127|128,127|128,3, 
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 3,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 0,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHBT), 0,
                  MVT::i32, 5, 0, 1, 3, 4, 5, 
   87, 
    OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15, 
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 35, TARGET_VAL(ISD::SRL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 4,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 0,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHTB), 0,
                   MVT::i32, 5, 0, 1, 3, 4, 5, 
    35, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 3,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 0,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHTB), 0,
                   MVT::i32, 5, 0, 1, 3, 4, 5, 
    0,
   45, 
    OPC_CheckAndImm, 127|128,127|128,3, 
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 3,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 2,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHBT), 0,
                  MVT::i32, 5, 0, 1, 3, 4, 5, 
   87, 
    OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15, 
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_SwitchOpcode , 35, TARGET_VAL(ISD::SRL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 4,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 2,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHTB), 0,
                   MVT::i32, 5, 0, 1, 3, 4, 5, 
    35, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 3,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 2,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHTB), 0,
                   MVT::i32, 5, 0, 1, 3, 4, 5, 
    0,
   70, 
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 3,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckAndImm, 127|128,127|128,3, 
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 21, 
     OPC_CheckPatternPredicate, 0,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHBT), 0,
                   MVT::i32, 5, 2, 0, 3, 4, 5, 
    21, 
     OPC_CheckPatternPredicate, 2,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHBT), 0,
                   MVT::i32, 5, 2, 0, 3, 4, 5, 
    0, 
   72, 
    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 4,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15, 
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 21, 
     OPC_CheckPatternPredicate, 0,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHTB), 0,
                   MVT::i32, 5, 2, 0, 3, 4, 5, 
    21, 
     OPC_CheckPatternPredicate, 2,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHTB), 0,
                   MVT::i32, 5, 2, 0, 3, 4, 5, 
    0, 
   72, 
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 3,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckAndImm, 0|128,0|128,124|128,127|128,15, 
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 21, 
     OPC_CheckPatternPredicate, 0,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::PKHTB), 0,
                   MVT::i32, 5, 2, 0, 3, 4, 5, 
    21, 
     OPC_CheckPatternPredicate, 2,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2PKHTB), 0,
                   MVT::i32, 5, 2, 0, 3, 4, 5, 
    0, 
   39, 
    OPC_CheckAndImm, 127|128,127|128,3, 
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 5,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 3,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitNodeXForm, 0, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MOVTi16), 0,
                  MVT::i32, 4, 0, 3, 4, 5, 
   0, 
  31, 
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 4,
   OPC_CheckComplexPat, /*CP*/1, /*#*/1,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::ORRrsr), 0,
                 MVT::i32, 7, 0, 2, 3, 4, 5, 6, 7, 
  40, 
   OPC_MoveChild0,
   OPC_CheckAndImm, 127|128,127|128,3, 
   OPC_RecordChild0,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 5,
   OPC_MoveParent,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 5,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitNodeXForm, 0, 2,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2MOVTi16), 0,
                 MVT::i32, 4, 0, 3, 4, 5, 
  118, 
   OPC_RecordChild0,
   OPC_Scope, 41, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 6,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 3, 
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 1,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORNri), 0,
                  MVT::i32, 5, 0, 2, 3, 4, 5, 
   30, 
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 4,
    OPC_CheckComplexPat, /*CP*/1, /*#*/0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::ORRrsr), 0,
                  MVT::i32, 7, 1, 2, 3, 4, 5, 6, 7, 
   41, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_CheckChild0Integer, 3, 
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 6,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 1,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORNri), 0,
                  MVT::i32, 5, 0, 2, 3, 4, 5, 
   0, 
  84, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 38, 
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 6,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 3, 
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 1,
    OPC_EmitConvertToTarget, 0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORNri), 0,
                  MVT::i32, 5, 1, 2, 3, 4, 5, 
   38, 
    OPC_CheckChild0Integer, 3, 
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 6,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 1,
    OPC_EmitConvertToTarget, 0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORNri), 0,
                  MVT::i32, 5, 1, 2, 3, 4, 5, 
   0, 
  34|128,2, 
   OPC_RecordChild0,
   OPC_Scope, 124|128,1, 
    OPC_RecordChild1,
    OPC_Scope, 6|128,1, 
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 32, 
      OPC_CheckPredicate, 7,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 6,
      OPC_CheckComplexPat, /*CP*/2, /*#*/0,
      OPC_EmitRegister, MVT::i32, ARM::CPSR,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tADDi3), 0,
                    MVT::i32, 5, 3, 2, 4, 5, 6, 
     32, 
      OPC_CheckPredicate, 8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 6,
      OPC_CheckComplexPat, /*CP*/2, /*#*/0,
      OPC_EmitRegister, MVT::i32, ARM::CPSR,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tADDi8), 0,
                    MVT::i32, 5, 3, 2, 4, 5, 6, 
     32, 
      OPC_CheckPredicate, 6,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 1,
      OPC_CheckComplexPat, /*CP*/2, /*#*/0,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDri), 0,
                    MVT::i32, 5, 2, 3, 4, 5, 6, 
     28, 
      OPC_CheckPredicate, 9,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 1,
      OPC_CheckComplexPat, /*CP*/2, /*#*/0,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDri12), 0,
                    MVT::i32, 4, 2, 3, 4, 5, 
     0, 
    112, 
     OPC_CheckType, MVT::i32,
     OPC_Scope, 26, 
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/3, /*#*/1,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::ORRrsi), 0,
                    MVT::i32, 6, 0, 2, 3, 4, 5, 6, 
     26, 
      OPC_CheckPatternPredicate, 1,
      OPC_CheckComplexPat, /*CP*/0, /*#*/1,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORRrs), 0,
                    MVT::i32, 6, 0, 2, 3, 4, 5, 6, 
     26, 
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/3, /*#*/0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::ORRrsi), 0,
                    MVT::i32, 6, 1, 2, 3, 4, 5, 6, 
     26, 
      OPC_CheckPatternPredicate, 1,
      OPC_CheckComplexPat, /*CP*/0, /*#*/0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORRrs), 0,
                    MVT::i32, 6, 1, 2, 3, 4, 5, 6, 
     0, 
    0, 
   32, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 3, 
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORNrr), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   0, 
  33, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 3, 
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 1,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORNrr), 0,
                 MVT::i32, 5, 1, 0, 2, 3, 4, 
  125, 
   OPC_RecordChild0,
   OPC_Scope, 32, 
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckPredicate, 10,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 1,
    OPC_CheckComplexPat, /*CP*/2, /*#*/0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDrr), 0,
                  MVT::i32, 5, 2, 1, 3, 4, 5, 
   32, 
    OPC_MoveChild0,
    OPC_CheckPredicate, 10,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 1,
    OPC_CheckComplexPat, /*CP*/2, /*#*/1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDrr), 0,
                  MVT::i32, 5, 2, 0, 3, 4, 5, 
   55, 
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 6,
    OPC_Scope, 23, 
     OPC_CheckComplexPat, /*CP*/2, /*#*/0,
     OPC_EmitRegister, MVT::i32, ARM::CPSR,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tADDrr), 0,
                   MVT::i32, 5, 3, 2, 1, 4, 5, 
    23, 
     OPC_CheckComplexPat, /*CP*/2, /*#*/1,
     OPC_EmitRegister, MVT::i32, ARM::CPSR,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tADDrr), 0,
                   MVT::i32, 5, 3, 2, 0, 4, 5, 
    0, 
   0, 
  59, 
   OPC_CheckOrImm, 0|128,0|128,124|128,127|128,15, 
   OPC_RecordChild0,
   OPC_CheckType, MVT::i32,
   OPC_Scope, 23, 
    OPC_CheckPatternPredicate, 3,
    OPC_EmitInteger, MVT::i32, 126|128,127|128,7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MOVTi16), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   23, 
    OPC_CheckPatternPredicate, 1,
    OPC_EmitInteger, MVT::i32, 126|128,127|128,7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2MOVTi16), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  50|128,1, 
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 99, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 29, 
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::ORRri), 0,
                   MVT::i32, 5, 0, 2, 3, 4, 5, 
    29, 
     OPC_CheckPredicate, 6,
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 1,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORRri), 0,
                   MVT::i32, 5, 0, 2, 3, 4, 5, 
    32, 
     OPC_CheckPredicate, 12,
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 1,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 1, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORNri), 0,
                   MVT::i32, 5, 0, 3, 4, 5, 6, 
    0, 
   73, 
    OPC_CheckType, MVT::i32,
    OPC_Scope, 22, 
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::ORRrr), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    22, 
     OPC_CheckPatternPredicate, 6,
     OPC_EmitRegister, MVT::i32, ARM::CPSR,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tORR), 0,
                   MVT::i32, 5, 2, 0, 1, 3, 4, 
    22, 
     OPC_CheckPatternPredicate, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ORRrr), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    0, 
   0, 
  99|128,41, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::AND),
   OPC_Scope, 16|128,5, 
    OPC_RecordChild0,
    OPC_Scope, 105|128,3, 
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 79|128,1, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 29|128,1, 
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_SwitchType , 69, MVT::v8i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_SwitchType , 19, MVT::v4i16,
         OPC_CheckPatternPredicate, 7,
         OPC_EmitInteger, MVT::i32, 28, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                       MVT::v4i16, 5, 1, 0, 2, 3, 4, 
        19, MVT::v2i32,
         OPC_CheckPatternPredicate, 7,
         OPC_EmitInteger, MVT::i32, 28, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                       MVT::v2i32, 5, 1, 0, 2, 3, 4, 
        19, MVT::v1i64,
         OPC_CheckPatternPredicate, 7,
         OPC_EmitInteger, MVT::i32, 28, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                       MVT::v1i64, 5, 1, 0, 2, 3, 4, 
        0,
       69, MVT::v16i8,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_MoveParent,
        OPC_SwitchType , 19, MVT::v8i16,
         OPC_CheckPatternPredicate, 7,
         OPC_EmitInteger, MVT::i32, 28, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                       MVT::v8i16, 5, 1, 0, 2, 3, 4, 
        19, MVT::v4i32,
         OPC_CheckPatternPredicate, 7,
         OPC_EmitInteger, MVT::i32, 28, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                       MVT::v4i32, 5, 1, 0, 2, 3, 4, 
        19, MVT::v2i64,
         OPC_CheckPatternPredicate, 7,
         OPC_EmitInteger, MVT::i32, 28, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                       MVT::v2i64, 5, 1, 0, 2, 3, 4, 
        0,
       0,
      40, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v4i16, 5, 1, 0, 2, 3, 4, 
      0, 
     90, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 41, 
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v4i16, 5, 1, 0, 2, 3, 4, 
      41, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v4i16, 5, 1, 0, 2, 3, 4, 
      0, 
     89, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 40, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v4i16, 5, 0, 1, 2, 3, 4, 
      40, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v4i16, 5, 0, 1, 2, 3, 4, 
      0, 
     90, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 41, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v4i16, 5, 0, 1, 2, 3, 4, 
      41, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v4i16, 5, 0, 1, 2, 3, 4, 
      0, 
     0, 
    32|128,1, 
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 76, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 126|128,59, 
      OPC_CheckType, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 25, 
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v4i16, 5, 1, 2, 0, 3, 4, 
      25, 
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v4i16, 5, 1, 2, 0, 3, 4, 
      0, 
     76, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 126|128,59, 
      OPC_CheckType, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 25, 
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v4i16, 5, 1, 2, 0, 3, 4, 
      25, 
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i16,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v4i16, 5, 1, 2, 0, 3, 4, 
      0, 
     0, 
    0, 
   34|128,1, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 77, 
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_CheckType, MVT::v8i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 25, 
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                    MVT::v4i16, 5, 0, 2, 1, 3, 4, 
     25, 
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                    MVT::v4i16, 5, 0, 2, 1, 3, 4, 
     0, 
    77, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_CheckType, MVT::v8i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 25, 
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                    MVT::v4i16, 5, 0, 2, 1, 3, 4, 
     25, 
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                    MVT::v4i16, 5, 0, 2, 1, 3, 4, 
     0, 
    0, 
   109|128,3, 
    OPC_RecordChild0,
    OPC_Scope, 70|128,2, 
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 45, 
      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, 126|128,59, 
      OPC_CheckType, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                    MVT::v2i32, 5, 1, 0, 2, 3, 4, 
     90, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 41, 
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v2i32, 5, 1, 0, 2, 3, 4, 
      41, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v2i32, 5, 1, 0, 2, 3, 4, 
      0, 
     89, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 40, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v2i32, 5, 0, 1, 2, 3, 4, 
      40, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v2i32, 5, 0, 1, 2, 3, 4, 
      0, 
     90, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 41, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v2i32, 5, 0, 1, 2, 3, 4, 
      41, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v2i32, 5, 0, 1, 2, 3, 4, 
      0, 
     0, 
    32|128,1, 
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 76, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 126|128,59, 
      OPC_CheckType, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 25, 
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v2i32, 5, 1, 2, 0, 3, 4, 
      25, 
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v2i32, 5, 1, 2, 0, 3, 4, 
      0, 
     76, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 126|128,59, 
      OPC_CheckType, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 25, 
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v2i32, 5, 1, 2, 0, 3, 4, 
      25, 
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i32,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v2i32, 5, 1, 2, 0, 3, 4, 
      0, 
     0, 
    0, 
   34|128,1, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 77, 
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_CheckType, MVT::v8i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 25, 
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                    MVT::v2i32, 5, 0, 2, 1, 3, 4, 
     25, 
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                    MVT::v2i32, 5, 0, 2, 1, 3, 4, 
     0, 
    77, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_CheckType, MVT::v8i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 25, 
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                    MVT::v2i32, 5, 0, 2, 1, 3, 4, 
     25, 
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                    MVT::v2i32, 5, 0, 2, 1, 3, 4, 
     0, 
    0, 
   109|128,3, 
    OPC_RecordChild0,
    OPC_Scope, 70|128,2, 
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 45, 
      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, 126|128,59, 
      OPC_CheckType, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                    MVT::v1i64, 5, 1, 0, 2, 3, 4, 
     90, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 41, 
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v1i64, 5, 1, 0, 2, 3, 4, 
      41, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v1i64, 5, 1, 0, 2, 3, 4, 
      0, 
     89, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 40, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v1i64, 5, 0, 1, 2, 3, 4, 
      40, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v1i64, 5, 0, 1, 2, 3, 4, 
      0, 
     90, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 41, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v1i64, 5, 0, 1, 2, 3, 4, 
      41, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v8i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v1i64, 5, 0, 1, 2, 3, 4, 
      0, 
     0, 
    32|128,1, 
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 76, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 126|128,59, 
      OPC_CheckType, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 25, 
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v1i64, 5, 1, 2, 0, 3, 4, 
      25, 
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v1i64, 5, 1, 2, 0, 3, 4, 
      0, 
     76, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 126|128,59, 
      OPC_CheckType, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 25, 
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v1i64, 5, 1, 2, 0, 3, 4, 
      25, 
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v1i64,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v1i64, 5, 1, 2, 0, 3, 4, 
      0, 
     0, 
    0, 
   34|128,1, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 77, 
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_CheckType, MVT::v8i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 25, 
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                    MVT::v1i64, 5, 0, 2, 1, 3, 4, 
     25, 
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                    MVT::v1i64, 5, 0, 2, 1, 3, 4, 
     0, 
    77, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_CheckType, MVT::v8i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 25, 
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                    MVT::v1i64, 5, 0, 2, 1, 3, 4, 
     25, 
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v1i64,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                    MVT::v1i64, 5, 0, 2, 1, 3, 4, 
     0, 
    0, 
   109|128,3, 
    OPC_RecordChild0,
    OPC_Scope, 70|128,2, 
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 45, 
      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, 126|128,59, 
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                    MVT::v8i16, 5, 1, 0, 2, 3, 4, 
     90, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 41, 
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v8i16, 5, 1, 0, 2, 3, 4, 
      41, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v8i16, 5, 1, 0, 2, 3, 4, 
      0, 
     89, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 40, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v8i16, 5, 0, 1, 2, 3, 4, 
      40, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v8i16, 5, 0, 1, 2, 3, 4, 
      0, 
     90, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 41, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v8i16, 5, 0, 1, 2, 3, 4, 
      41, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v8i16, 5, 0, 1, 2, 3, 4, 
      0, 
     0, 
    32|128,1, 
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 76, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 126|128,59, 
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 25, 
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v8i16, 5, 1, 2, 0, 3, 4, 
      25, 
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v8i16, 5, 1, 2, 0, 3, 4, 
      0, 
     76, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 126|128,59, 
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 25, 
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v8i16, 5, 1, 2, 0, 3, 4, 
      25, 
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v8i16, 5, 1, 2, 0, 3, 4, 
      0, 
     0, 
    0, 
   34|128,1, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 77, 
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 25, 
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                    MVT::v8i16, 5, 0, 2, 1, 3, 4, 
     25, 
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                    MVT::v8i16, 5, 0, 2, 1, 3, 4, 
     0, 
    77, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 25, 
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                    MVT::v8i16, 5, 0, 2, 1, 3, 4, 
     25, 
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                    MVT::v8i16, 5, 0, 2, 1, 3, 4, 
     0, 
    0, 
   109|128,3, 
    OPC_RecordChild0,
    OPC_Scope, 70|128,2, 
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 45, 
      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, 126|128,59, 
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                    MVT::v4i32, 5, 1, 0, 2, 3, 4, 
     90, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 41, 
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v4i32, 5, 1, 0, 2, 3, 4, 
      41, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v4i32, 5, 1, 0, 2, 3, 4, 
      0, 
     89, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 40, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v4i32, 5, 0, 1, 2, 3, 4, 
      40, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v4i32, 5, 0, 1, 2, 3, 4, 
      0, 
     90, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 41, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v4i32, 5, 0, 1, 2, 3, 4, 
      41, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v4i32, 5, 0, 1, 2, 3, 4, 
      0, 
     0, 
    32|128,1, 
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 76, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 126|128,59, 
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 25, 
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v4i32, 5, 1, 2, 0, 3, 4, 
      25, 
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v4i32, 5, 1, 2, 0, 3, 4, 
      0, 
     76, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 126|128,59, 
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 25, 
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v4i32, 5, 1, 2, 0, 3, 4, 
      25, 
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v4i32, 5, 1, 2, 0, 3, 4, 
      0, 
     0, 
    0, 
   34|128,1, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 77, 
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 25, 
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                    MVT::v4i32, 5, 0, 2, 1, 3, 4, 
     25, 
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                    MVT::v4i32, 5, 0, 2, 1, 3, 4, 
     0, 
    77, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 25, 
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                    MVT::v4i32, 5, 0, 2, 1, 3, 4, 
     25, 
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                    MVT::v4i32, 5, 0, 2, 1, 3, 4, 
     0, 
    0, 
   109|128,3, 
    OPC_RecordChild0,
    OPC_Scope, 70|128,2, 
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 45, 
      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, 126|128,59, 
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                    MVT::v2i64, 5, 1, 0, 2, 3, 4, 
     90, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 41, 
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v2i64, 5, 1, 0, 2, 3, 4, 
      41, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v2i64, 5, 1, 0, 2, 3, 4, 
      0, 
     89, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 40, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v2i64, 5, 0, 1, 2, 3, 4, 
      40, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v2i64, 5, 0, 1, 2, 3, 4, 
      0, 
     90, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 41, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v2i64, 5, 0, 1, 2, 3, 4, 
      41, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_CheckType, MVT::v16i8,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v2i64, 5, 0, 1, 2, 3, 4, 
      0, 
     0, 
    32|128,1, 
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 76, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 126|128,59, 
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 25, 
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v2i64, 5, 1, 2, 0, 3, 4, 
      25, 
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v2i64, 5, 1, 2, 0, 3, 4, 
      0, 
     76, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 126|128,59, 
      OPC_CheckType, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 25, 
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v2i64, 5, 1, 2, 0, 3, 4, 
      25, 
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v2i64,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v2i64, 5, 1, 2, 0, 3, 4, 
      0, 
     0, 
    0, 
   34|128,1, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 77, 
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 25, 
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                    MVT::v2i64, 5, 0, 2, 1, 3, 4, 
     25, 
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                    MVT::v2i64, 5, 0, 2, 1, 3, 4, 
     0, 
    77, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 25, 
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                    MVT::v2i64, 5, 0, 2, 1, 3, 4, 
     25, 
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                    MVT::v2i64, 5, 0, 2, 1, 3, 4, 
     0, 
    0, 
   106|128,3, 
    OPC_RecordChild0,
    OPC_Scope, 81|128,2, 
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 98, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 56, 
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_SwitchType , 19, MVT::v8i8,
        OPC_CheckPatternPredicate, 7,
        OPC_EmitInteger, MVT::i32, 28, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                      MVT::v8i8, 5, 1, 0, 2, 3, 4, 
       19, MVT::v16i8,
        OPC_CheckPatternPredicate, 7,
        OPC_EmitInteger, MVT::i32, 28, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                      MVT::v16i8, 5, 1, 0, 2, 3, 4, 
       0,
      33, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v8i8, 5, 1, 0, 2, 3, 4, 
      0, 
     76, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 34, 
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v8i8, 5, 1, 0, 2, 3, 4, 
      34, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v8i8, 5, 1, 0, 2, 3, 4, 
      0, 
     75, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 33, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v8i8, 5, 0, 1, 2, 3, 4, 
      33, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v8i8, 5, 0, 1, 2, 3, 4, 
      0, 
     76, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 34, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v8i8, 5, 0, 1, 2, 3, 4, 
      34, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v8i8, 5, 0, 1, 2, 3, 4, 
      0, 
     0, 
    18|128,1, 
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 69, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 126|128,59, 
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 25, 
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v8i8, 5, 1, 2, 0, 3, 4, 
      25, 
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v8i8, 5, 1, 2, 0, 3, 4, 
      0, 
     69, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 126|128,59, 
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 25, 
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v8i8, 5, 1, 2, 0, 3, 4, 
      25, 
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i8,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                     MVT::v8i8, 5, 1, 2, 0, 3, 4, 
      0, 
     0, 
    0, 
   20|128,1, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 70, 
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 25, 
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                    MVT::v8i8, 5, 0, 2, 1, 3, 4, 
     25, 
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                    MVT::v8i8, 5, 0, 2, 1, 3, 4, 
     0, 
    70, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 25, 
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                    MVT::v8i8, 5, 0, 2, 1, 3, 4, 
     25, 
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                    MVT::v8i8, 5, 0, 2, 1, 3, 4, 
     0, 
    0, 
   46|128,3, 
    OPC_RecordChild0,
    OPC_Scope, 21|128,2, 
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 38, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 126|128,59, 
      OPC_MoveParent,
      OPC_CheckChild1Same, 1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                    MVT::v16i8, 5, 1, 0, 2, 3, 4, 
     76, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 34, 
       OPC_CheckChild0Same, 1,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v16i8, 5, 1, 0, 2, 3, 4, 
      34, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_MoveParent,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v16i8, 5, 1, 0, 2, 3, 4, 
      0, 
     75, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 33, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v16i8, 5, 0, 1, 2, 3, 4, 
      33, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v16i8, 5, 0, 1, 2, 3, 4, 
      0, 
     76, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
      OPC_Scope, 34, 
       OPC_CheckChild0Same, 0,
       OPC_MoveChild1,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_MoveParent,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v16i8, 5, 0, 1, 2, 3, 4, 
      34, 
       OPC_MoveChild0,
       OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
       OPC_CheckChild0Integer, 126|128,59, 
       OPC_MoveParent,
       OPC_CheckChild1Same, 0,
       OPC_MoveParent,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v16i8, 5, 0, 1, 2, 3, 4, 
      0, 
     0, 
    18|128,1, 
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
     OPC_Scope, 69, 
      OPC_RecordChild0,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 126|128,59, 
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 25, 
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v16i8, 5, 1, 2, 0, 3, 4, 
      25, 
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v16i8, 5, 1, 2, 0, 3, 4, 
      0, 
     69, 
      OPC_MoveChild0,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
      OPC_CheckChild0Integer, 126|128,59, 
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
      OPC_Scope, 25, 
       OPC_RecordChild0,
       OPC_CheckChild1Same, 1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v16i8, 5, 1, 2, 0, 3, 4, 
      25, 
       OPC_CheckChild0Same, 1,
       OPC_RecordChild1,
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                     MVT::v16i8, 5, 1, 2, 0, 3, 4, 
      0, 
     0, 
    0, 
   20|128,1, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_Scope, 70, 
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 25, 
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                    MVT::v16i8, 5, 0, 2, 1, 3, 4, 
     25, 
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                    MVT::v16i8, 5, 0, 2, 1, 3, 4, 
     0, 
    70, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::AND),
     OPC_Scope, 25, 
      OPC_RecordChild0,
      OPC_CheckChild1Same, 0,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                    MVT::v16i8, 5, 0, 2, 1, 3, 4, 
     25, 
      OPC_CheckChild0Same, 0,
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                    MVT::v16i8, 5, 0, 2, 1, 3, 4, 
     0, 
    0, 
   0, 
  2|128,3, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 34|128,2, TARGET_VAL(ISD::XOR),
    OPC_Scope, 120|128,1, 
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_SwitchType , 65, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 18, MVT::v2i32,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNd), 0,
                     MVT::v2i32, 4, 0, 1, 2, 3, 
      18, MVT::v4i16,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNd), 0,
                     MVT::v4i16, 4, 0, 1, 2, 3, 
      18, MVT::v1i64,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNd), 0,
                     MVT::v1i64, 4, 0, 1, 2, 3, 
      0,
     36|128,1, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 51, MVT::v4i32,
       OPC_Scope, 18, 
        OPC_CheckPatternPredicate, 7,
        OPC_EmitInteger, MVT::i32, 28, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNq), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       29, 
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::v4i32, 0, 
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORN), 0,
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
       0, 
      51, MVT::v8i16,
       OPC_Scope, 18, 
        OPC_CheckPatternPredicate, 7,
        OPC_EmitInteger, MVT::i32, 28, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNq), 0,
                      MVT::v8i16, 4, 0, 1, 2, 3, 
       29, 
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::v4i32, 0, 
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORN), 0,
                      MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
       0, 
      51, MVT::v2i64,
       OPC_Scope, 18, 
        OPC_CheckPatternPredicate, 7,
        OPC_EmitInteger, MVT::i32, 28, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNq), 0,
                      MVT::v2i64, 4, 0, 1, 2, 3, 
       29, 
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::v4i32, 0, 
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORN), 0,
                      MVT::v2i64, 6, 0, 1, 2, 3, 4, 5, 
       0, 
      0,
     0,
    37, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_CheckType, MVT::v8i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNd), 0,
                   MVT::v2i32, 4, 0, 1, 2, 3, 
    0, 
   85, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_Scope, 40, 
     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_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORR), 0,
                   MVT::v16i8, 6, 0, 2, 3, 1, 4, 0, 
    40, 
     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_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORR), 0,
                   MVT::v8i16, 6, 0, 2, 3, 1, 4, 0, 
    0, 
   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, 126|128,59, 
    OPC_CheckType, MVT::v8i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNd), 0,
                  MVT::v2i32, 4, 1, 0, 2, 3, 
   38, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_CheckType, MVT::v8i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNd), 0,
                  MVT::v2i32, 4, 1, 0, 2, 3, 
   0, 
  42, 
   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, 126|128,59, 
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 7,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNq), 0,
                 MVT::v4i32, 4, 0, 1, 2, 3, 
  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, 126|128,59, 
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNq), 0,
                  MVT::v4i32, 4, 1, 0, 2, 3, 
   38, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNq), 0,
                  MVT::v4i32, 4, 1, 0, 2, 3, 
   0, 
  42, 
   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, 126|128,59, 
   OPC_CheckType, MVT::v8i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i16,
   OPC_CheckPatternPredicate, 7,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNd), 0,
                 MVT::v4i16, 4, 0, 1, 2, 3, 
  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, 126|128,59, 
    OPC_CheckType, MVT::v8i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNd), 0,
                  MVT::v4i16, 4, 1, 0, 2, 3, 
   38, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_CheckType, MVT::v8i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNd), 0,
                  MVT::v4i16, 4, 1, 0, 2, 3, 
   0, 
  42, 
   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, 126|128,59, 
   OPC_CheckType, MVT::v8i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v1i64,
   OPC_CheckPatternPredicate, 7,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNd), 0,
                 MVT::v1i64, 4, 0, 1, 2, 3, 
  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, 126|128,59, 
    OPC_CheckType, MVT::v8i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v1i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNd), 0,
                  MVT::v1i64, 4, 1, 0, 2, 3, 
   38, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_CheckType, MVT::v8i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v1i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNd), 0,
                  MVT::v1i64, 4, 1, 0, 2, 3, 
   0, 
  42, 
   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, 126|128,59, 
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate, 7,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNq), 0,
                 MVT::v8i16, 4, 0, 1, 2, 3, 
  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, 126|128,59, 
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNq), 0,
                  MVT::v8i16, 4, 1, 0, 2, 3, 
   38, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNq), 0,
                  MVT::v8i16, 4, 1, 0, 2, 3, 
   0, 
  42, 
   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, 126|128,59, 
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate, 7,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNq), 0,
                 MVT::v2i64, 4, 0, 1, 2, 3, 
  48|128,1, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 80, 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, 126|128,59, 
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNq), 0,
                   MVT::v2i64, 4, 1, 0, 2, 3, 
    38, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNq), 0,
                   MVT::v2i64, 4, 1, 0, 2, 3, 
    0, 
   87, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_Scope, 41, 
     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_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORR), 0,
                   MVT::v16i8, 6, 2, 1, 3, 0, 4, 2, 
    41, 
     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_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORR), 0,
                   MVT::v8i16, 6, 2, 1, 3, 0, 4, 2, 
    0, 
   0,
  53, 
   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, 126|128,59, 
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::v4i32, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORN), 0,
                 MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
  106, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 49, 
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORN), 0,
                  MVT::v8i16, 6, 1, 0, 2, 3, 4, 5, 
   49, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORN), 0,
                  MVT::v8i16, 6, 1, 0, 2, 3, 4, 5, 
   0, 
  53, 
   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, 126|128,59, 
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::v4i32, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORN), 0,
                 MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
  106, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 49, 
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORN), 0,
                  MVT::v4i32, 6, 1, 0, 2, 3, 4, 5, 
   49, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORN), 0,
                  MVT::v4i32, 6, 1, 0, 2, 3, 4, 5, 
   0, 
  53, 
   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, 126|128,59, 
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::v4i32, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORN), 0,
                 MVT::v2i64, 6, 0, 1, 2, 3, 4, 5, 
  106, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 49, 
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORN), 0,
                  MVT::v2i64, 6, 1, 0, 2, 3, 4, 5, 
   49, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORN), 0,
                  MVT::v2i64, 6, 1, 0, 2, 3, 4, 5, 
   0, 
  35|128,1, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 119, TARGET_VAL(ISD::XOR),
    OPC_Scope, 85, 
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 18, MVT::v8i8,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNd), 0,
                    MVT::v8i8, 4, 0, 1, 2, 3, 
     51, MVT::v16i8,
      OPC_Scope, 18, 
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNq), 0,
                     MVT::v16i8, 4, 0, 1, 2, 3, 
      29, 
       OPC_CheckPatternPredicate, 8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORN), 0,
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     0,
    30, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNd), 0,
                   MVT::v8i8, 4, 0, 1, 2, 3, 
    0, 
   34, 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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORR), 0,
                  MVT::v4i32, 6, 0, 2, 3, 1, 4, 0, 
   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, 126|128,59, 
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNd), 0,
                  MVT::v8i8, 4, 1, 0, 2, 3, 
   31, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNd), 0,
                  MVT::v8i8, 4, 1, 0, 2, 3, 
   0, 
  35, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 126|128,59, 
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate, 7,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNq), 0,
                 MVT::v16i8, 4, 0, 1, 2, 3, 
  110, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 66, TARGET_VAL(ISD::XOR),
    OPC_Scope, 31, 
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNq), 0,
                   MVT::v16i8, 4, 1, 0, 2, 3, 
    31, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VORNq), 0,
                   MVT::v16i8, 4, 1, 0, 2, 3, 
    0, 
   35, 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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORR), 0,
                  MVT::v4i32, 6, 2, 1, 3, 0, 4, 2, 
   0,
  46, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 126|128,59, 
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::v4i32, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORN), 0,
                 MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
  92, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 42, 
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORN), 0,
                  MVT::v16i8, 6, 1, 0, 2, 3, 4, 5, 
   42, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORN), 0,
                  MVT::v16i8, 6, 1, 0, 2, 3, 4, 5, 
   0, 
  12|128,4, 
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 18, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VORRd), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   51, MVT::v4i32,
    OPC_Scope, 18, 
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VORRq), 0,
                   MVT::v4i32, 4, 0, 1, 2, 3, 
    29, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORR), 0,
                   MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   18, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VORRd), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   18, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VORRd), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   18, MVT::v1i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VORRd), 0,
                  MVT::v1i64, 4, 0, 1, 2, 3, 
   51, MVT::v16i8,
    OPC_Scope, 18, 
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VORRq), 0,
                   MVT::v16i8, 4, 0, 1, 2, 3, 
    29, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORR), 0,
                   MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   51, MVT::v8i16,
    OPC_Scope, 18, 
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VORRq), 0,
                   MVT::v8i16, 4, 0, 1, 2, 3, 
    29, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORR), 0,
                   MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   51, MVT::v2i64,
    OPC_Scope, 18, 
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VORRq), 0,
                   MVT::v2i64, 4, 0, 1, 2, 3, 
    29, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORR), 0,
                   MVT::v2i64, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   55, MVT::v16i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::i32, 2, 0, 2, 
    OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::i32, 2, 1, 4, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::t2ORRrr), 0,
                  MVT::i32, 5, 3, 5, 6, 7, 8, 
    OPC_EmitStringInteger, MVT::i32, ARM::VCCRRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v16i1, 2, 9, 10, 
   55, MVT::v8i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::i32, 2, 0, 2, 
    OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::i32, 2, 1, 4, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::t2ORRrr), 0,
                  MVT::i32, 5, 3, 5, 6, 7, 8, 
    OPC_EmitStringInteger, MVT::i32, ARM::VCCRRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v8i1, 2, 9, 10, 
   55, MVT::v4i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::i32, 2, 0, 2, 
    OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::i32, 2, 1, 4, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::t2ORRrr), 0,
                  MVT::i32, 5, 3, 5, 6, 7, 8, 
    OPC_EmitStringInteger, MVT::i32, ARM::VCCRRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v4i1, 2, 9, 10, 
   55, MVT::v2i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::i32, 2, 0, 2, 
    OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::i32, 2, 1, 4, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::t2ORRrr), 0,
                  MVT::i32, 5, 3, 5, 6, 7, 8, 
    OPC_EmitStringInteger, MVT::i32, ARM::VCCRRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::v2i1, 2, 9, 10, 
   0,
  0, 
 116|128,117, TARGET_VAL(ISD::ADD),
  OPC_Scope, 0|128,3, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_Scope, 46, 
    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, 13,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 0,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAB), 0,
                  MVT::i32, 5, 0, 1, 4, 5, 6, 
   47, 
    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, 13,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 0,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAH), 0,
                  MVT::i32, 5, 0, 1, 4, 5, 6, 
   46, 
    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, 13,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 0,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAB), 0,
                  MVT::i32, 5, 0, 1, 4, 5, 6, 
   47, 
    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, 14,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 0,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAH), 0,
                  MVT::i32, 5, 0, 1, 4, 5, 6, 
   46, 
    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, 13,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 2,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAB), 0,
                  MVT::i32, 5, 0, 1, 4, 5, 6, 
   47, 
    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, 13,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 2,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAH), 0,
                  MVT::i32, 5, 0, 1, 4, 5, 6, 
   46, 
    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, 13,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 2,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAB), 0,
                  MVT::i32, 5, 0, 1, 4, 5, 6, 
   47, 
    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, 14,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 2,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAH), 0,
                  MVT::i32, 5, 0, 1, 4, 5, 6, 
   0, 
  7|128,3, 
   OPC_MoveChild0,
   OPC_Scope, 47, 
    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, 13,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 0,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAB), 0,
                  MVT::i32, 5, 2, 0, 4, 5, 6, 
   48, 
    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, 13,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 0,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAH), 0,
                  MVT::i32, 5, 2, 0, 4, 5, 6, 
   47, 
    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, 13,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 0,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAB), 0,
                  MVT::i32, 5, 2, 0, 4, 5, 6, 
   48, 
    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, 14,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 0,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAH), 0,
                  MVT::i32, 5, 2, 0, 4, 5, 6, 
   47, 
    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, 13,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 2,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAB), 0,
                  MVT::i32, 5, 2, 0, 4, 5, 6, 
   48, 
    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, 13,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 2,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAH), 0,
                  MVT::i32, 5, 2, 0, 4, 5, 6, 
   47, 
    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, 13,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 2,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAB), 0,
                  MVT::i32, 5, 2, 0, 4, 5, 6, 
   48, 
    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, 14,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 2,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAH), 0,
                  MVT::i32, 5, 2, 0, 4, 5, 6, 
   0, 
  126, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_Scope, 29, 
    OPC_CheckAndImm, 127|128,1, 
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAB), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   30, 
    OPC_CheckAndImm, 127|128,127|128,3, 
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAH), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   29, 
    OPC_CheckAndImm, 127|128,1, 
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAB), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   30, 
    OPC_CheckAndImm, 127|128,127|128,3, 
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAH), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   0, 
  1|128,1, 
   OPC_MoveChild0,
   OPC_Scope, 30, 
    OPC_CheckAndImm, 127|128,1, 
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAB), 0,
                  MVT::i32, 5, 1, 0, 2, 3, 4, 
   31, 
    OPC_CheckAndImm, 127|128,127|128,3, 
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAH), 0,
                  MVT::i32, 5, 1, 0, 2, 3, 4, 
   30, 
    OPC_CheckAndImm, 127|128,1, 
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAB), 0,
                  MVT::i32, 5, 1, 0, 2, 3, 4, 
   31, 
    OPC_CheckAndImm, 127|128,127|128,3, 
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAH), 0,
                  MVT::i32, 5, 1, 0, 2, 3, 4, 
   0, 
  108, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::OR),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 45, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 48, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
    OPC_CheckChild0Same, 1,
    OPC_CheckChild1Integer, 16, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 6, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   45, TARGET_VAL(ISD::SHL),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 16, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
    OPC_CheckChild0Same, 1,
    OPC_CheckChild1Integer, 48, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 6, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   0,
  95|128,1, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 105, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::OR),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 46, TARGET_VAL(ISD::SRL),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 48, 
     OPC_CheckChild1Type, MVT::i32,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 16, 
     OPC_CheckChild1Type, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 2,
     OPC_EmitInteger, MVT::i32, 6, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
                   MVT::i32, 5, 1, 0, 2, 3, 4, 
    46, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 16, 
     OPC_CheckChild1Type, MVT::i32,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
     OPC_CheckChild0Same, 0,
     OPC_CheckChild1Integer, 48, 
     OPC_CheckChild1Type, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 2,
     OPC_EmitInteger, MVT::i32, 6, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
                   MVT::i32, 5, 1, 0, 2, 3, 4, 
    0,
   109, TARGET_VAL(ISD::VECREDUCE_ADD),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_Scope, 50, 
     OPC_CheckChild0Type, MVT::v8i1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     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_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau16), 0,
                   MVT::i32, 6, 3, 1, 2, 4, 0, 5, 
    50, 
     OPC_CheckChild0Type, MVT::v16i1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     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_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau8), 0,
                   MVT::i32, 6, 3, 1, 2, 4, 0, 5, 
    0, 
   0,
  54|128,1, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 107, TARGET_VAL(ISD::VECREDUCE_ADD),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_Scope, 49, 
     OPC_CheckChild0Type, MVT::v8i1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     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_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau16), 0,
                   MVT::i32, 6, 0, 2, 3, 4, 1, 5, 
    49, 
     OPC_CheckChild0Type, MVT::v16i1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     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_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau8), 0,
                   MVT::i32, 6, 0, 2, 3, 4, 1, 5, 
    0, 
   65, TARGET_VAL(ISD::MUL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 32, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 32, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 19, 
     OPC_CheckPatternPredicate, 9,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLATT), 0,
                   MVT::i32, 5, 1, 2, 0, 3, 4, 
    19, 
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLATT), 0,
                   MVT::i32, 5, 1, 2, 0, 3, 4, 
    0, 
   0,
  87|128,1, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 66, TARGET_VAL(ISD::MUL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 32, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 32, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 19, 
     OPC_CheckPatternPredicate, 9,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLATT), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    19, 
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLATT), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    0, 
   11|128,1, TARGET_VAL(ISD::VECREDUCE_ADD),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_Scope, 43, 
     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_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu8acc), 0,
                   MVT::i32, 5, 2, 1, 3, 0, 4, 
    43, 
     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_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu16acc), 0,
                   MVT::i32, 5, 2, 1, 3, 0, 4, 
    43, 
     OPC_CheckChild0Type, MVT::v4i1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0, 
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau32), 0,
                   MVT::i32, 6, 3, 1, 2, 4, 0, 5, 
    0, 
   0,
  18|128,2, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 8|128,1, TARGET_VAL(ISD::VECREDUCE_ADD),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_Scope, 42, 
     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_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu8acc), 0,
                   MVT::i32, 5, 0, 2, 3, 1, 4, 
    42, 
     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_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu16acc), 0,
                   MVT::i32, 5, 0, 2, 3, 1, 4, 
    42, 
     OPC_CheckChild0Type, MVT::v4i1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 0, 
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau32), 0,
                   MVT::i32, 6, 0, 2, 3, 4, 1, 5, 
    0, 
   127, TARGET_VAL(ISD::MUL),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 59, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 32, 
     OPC_CheckChild1Type, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_Scope, 19, 
      OPC_CheckPatternPredicate, 9,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABT), 0,
                    MVT::i32, 5, 1, 2, 0, 3, 4, 
     19, 
      OPC_CheckPatternPredicate, 10,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABT), 0,
                    MVT::i32, 5, 1, 2, 0, 3, 4, 
     0, 
    59, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 32, 
     OPC_CheckChild1Type, MVT::i32,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_Scope, 19, 
      OPC_CheckPatternPredicate, 9,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLATB), 0,
                    MVT::i32, 5, 1, 2, 0, 3, 4, 
     19, 
      OPC_CheckPatternPredicate, 10,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLATB), 0,
                    MVT::i32, 5, 1, 2, 0, 3, 4, 
     0, 
    0,
   0,
  52|128,1, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 41, 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_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu32acc), 0,
                  MVT::i32, 5, 2, 1, 3, 0, 4, 
   1|128,1, TARGET_VAL(ISD::MUL),
    OPC_MoveChild0,
    OPC_SwitchOpcode , 60, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 32, 
     OPC_CheckChild1Type, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_Scope, 19, 
      OPC_CheckPatternPredicate, 9,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABT), 0,
                    MVT::i32, 5, 0, 1, 2, 3, 4, 
     19, 
      OPC_CheckPatternPredicate, 10,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABT), 0,
                    MVT::i32, 5, 0, 1, 2, 3, 4, 
     0, 
    60, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 32, 
     OPC_CheckChild1Type, MVT::i32,
     OPC_MoveParent,
     OPC_MoveChild1,
     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, 19, 
      OPC_CheckPatternPredicate, 9,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABT), 0,
                    MVT::i32, 5, 1, 0, 2, 3, 4, 
     19, 
      OPC_CheckPatternPredicate, 10,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABT), 0,
                    MVT::i32, 5, 1, 0, 2, 3, 4, 
     0, 
    0,
   0,
  45, 
   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_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitInteger, MVT::i32, 2, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu32acc), 0,
                 MVT::i32, 5, 0, 2, 3, 1, 4, 
  59|128,1, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_CheckChild0Integer, 118|128,36, 
   OPC_RecordChild1,
   OPC_Scope, 58, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 26, 
     OPC_CheckChild2Integer, 0, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVs8acc), 0,
                   MVT::i32, 5, 2, 0, 3, 1, 4, 
    26, 
     OPC_CheckChild2Integer, 2, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu8acc), 0,
                   MVT::i32, 5, 2, 0, 3, 1, 4, 
    0, 
   58, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 26, 
     OPC_CheckChild2Integer, 0, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVs16acc), 0,
                   MVT::i32, 5, 2, 0, 3, 1, 4, 
    26, 
     OPC_CheckChild2Integer, 2, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu16acc), 0,
                   MVT::i32, 5, 2, 0, 3, 1, 4, 
    0, 
   58, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 26, 
     OPC_CheckChild2Integer, 0, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVs32acc), 0,
                   MVT::i32, 5, 2, 0, 3, 1, 4, 
    26, 
     OPC_CheckChild2Integer, 2, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu32acc), 0,
                   MVT::i32, 5, 2, 0, 3, 1, 4, 
    0, 
   0, 
  24|128,3, 
   OPC_RecordChild0,
   OPC_Scope, 53|128,1, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 118|128,36, 
    OPC_RecordChild1,
    OPC_Scope, 56, 
     OPC_CheckChild1Type, MVT::v16i8,
     OPC_Scope, 25, 
      OPC_CheckChild2Integer, 0, 
      OPC_RecordChild3,
      OPC_CheckChild3Type, MVT::v16i1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVs8acc), 0,
                    MVT::i32, 5, 0, 1, 3, 2, 4, 
     25, 
      OPC_CheckChild2Integer, 2, 
      OPC_RecordChild3,
      OPC_CheckChild3Type, MVT::v16i1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu8acc), 0,
                    MVT::i32, 5, 0, 1, 3, 2, 4, 
     0, 
    56, 
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_Scope, 25, 
      OPC_CheckChild2Integer, 0, 
      OPC_RecordChild3,
      OPC_CheckChild3Type, MVT::v8i1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVs16acc), 0,
                    MVT::i32, 5, 0, 1, 3, 2, 4, 
     25, 
      OPC_CheckChild2Integer, 2, 
      OPC_RecordChild3,
      OPC_CheckChild3Type, MVT::v8i1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu16acc), 0,
                    MVT::i32, 5, 0, 1, 3, 2, 4, 
     0, 
    56, 
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_Scope, 25, 
      OPC_CheckChild2Integer, 0, 
      OPC_RecordChild3,
      OPC_CheckChild3Type, MVT::v4i1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVs32acc), 0,
                    MVT::i32, 5, 0, 1, 3, 2, 4, 
     25, 
      OPC_CheckChild2Integer, 2, 
      OPC_RecordChild3,
      OPC_CheckChild3Type, MVT::v4i1,
      OPC_MoveParent,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu32acc), 0,
                    MVT::i32, 5, 0, 1, 3, 2, 4, 
     0, 
    0, 
   30, 
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 4,
    OPC_CheckComplexPat, /*CP*/1, /*#*/1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::ADDrsr), 0,
                  MVT::i32, 7, 0, 2, 3, 4, 5, 6, 7, 
   30|128,1, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    OPC_Scope, 37, 
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 32, 
     OPC_CheckChild1Type, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABT), 0,
                   MVT::i32, 5, 1, 2, 0, 3, 4, 
    37, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 32, 
     OPC_CheckChild1Type, MVT::i32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLATB), 0,
                   MVT::i32, 5, 1, 2, 0, 3, 4, 
    37, 
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 32, 
     OPC_CheckChild1Type, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABT), 0,
                   MVT::i32, 5, 1, 2, 0, 3, 4, 
    37, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_CheckChild1Integer, 32, 
     OPC_CheckChild1Type, MVT::i32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLATB), 0,
                   MVT::i32, 5, 1, 2, 0, 3, 4, 
    0, 
   30, 
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 4,
    OPC_CheckComplexPat, /*CP*/1, /*#*/0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::ADDrsr), 0,
                  MVT::i32, 7, 1, 2, 3, 4, 5, 6, 7, 
   0, 
  34|128,1, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_Scope, 38, 
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckPredicate, 15,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 32, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABT), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   38, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 32, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckPredicate, 15,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABT), 0,
                  MVT::i32, 5, 1, 0, 2, 3, 4, 
   38, 
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckPredicate, 15,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 32, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABT), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   38, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 32, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckPredicate, 15,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABT), 0,
                  MVT::i32, 5, 1, 0, 2, 3, 4, 
   0, 
  42, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 48, 
   OPC_CheckChild1Type, MVT::i32,
   OPC_MoveParent,
   OPC_MoveChild1,
   OPC_CheckValueType, MVT::i16,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 2,
   OPC_EmitInteger, MVT::i32, 6, 
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
                 MVT::i32, 5, 0, 1, 2, 3, 4, 
  42, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 48, 
   OPC_CheckChild1Type, MVT::i32,
   OPC_MoveParent,
   OPC_MoveChild1,
   OPC_CheckValueType, MVT::i16,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 2,
   OPC_EmitInteger, MVT::i32, 6, 
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
                 MVT::i32, 5, 1, 0, 2, 3, 4, 
  35|128,2, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 1|128,1, TARGET_VAL(ISD::ROTR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 13,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_Scope, 56, 
     OPC_CheckValueType, MVT::i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_Scope, 24, 
      OPC_CheckPatternPredicate, 0,
      OPC_EmitConvertToTarget, 2,
      OPC_EmitNodeXForm, 2, 3,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAB), 0,
                    MVT::i32, 5, 0, 1, 4, 5, 6, 
     24, 
      OPC_CheckPatternPredicate, 2,
      OPC_EmitConvertToTarget, 2,
      OPC_EmitNodeXForm, 2, 3,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAB), 0,
                    MVT::i32, 5, 0, 1, 4, 5, 6, 
     0, 
    56, 
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_Scope, 24, 
      OPC_CheckPatternPredicate, 0,
      OPC_EmitConvertToTarget, 2,
      OPC_EmitNodeXForm, 2, 3,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAH), 0,
                    MVT::i32, 5, 0, 1, 4, 5, 6, 
     24, 
      OPC_CheckPatternPredicate, 2,
      OPC_EmitConvertToTarget, 2,
      OPC_EmitNodeXForm, 2, 3,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
                    MVT::i32, 5, 0, 1, 4, 5, 6, 
     0, 
    0, 
   18|128,1, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckType, MVT::i32,
    OPC_Scope, 33, 
     OPC_CheckPredicate, 13,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 0,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitNodeXForm, 2, 3,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAB), 0,
                   MVT::i32, 5, 0, 1, 4, 5, 6, 
    33, 
     OPC_CheckPredicate, 14,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 0,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitNodeXForm, 2, 3,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAH), 0,
                   MVT::i32, 5, 0, 1, 4, 5, 6, 
    33, 
     OPC_CheckPredicate, 13,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 2,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitNodeXForm, 2, 3,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAB), 0,
                   MVT::i32, 5, 0, 1, 4, 5, 6, 
    33, 
     OPC_CheckPredicate, 14,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 2,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitNodeXForm, 2, 3,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
                   MVT::i32, 5, 0, 1, 4, 5, 6, 
    0, 
   0,
  40|128,2, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
   OPC_MoveChild0,
   OPC_SwitchOpcode , 3|128,1, TARGET_VAL(ISD::ROTR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 13,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_Scope, 57, 
     OPC_CheckValueType, MVT::i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_Scope, 24, 
      OPC_CheckPatternPredicate, 0,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 2, 3,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAB), 0,
                    MVT::i32, 5, 2, 0, 4, 5, 6, 
     24, 
      OPC_CheckPatternPredicate, 2,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 2, 3,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAB), 0,
                    MVT::i32, 5, 2, 0, 4, 5, 6, 
     0, 
    57, 
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_Scope, 24, 
      OPC_CheckPatternPredicate, 0,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 2, 3,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAH), 0,
                    MVT::i32, 5, 2, 0, 4, 5, 6, 
     24, 
      OPC_CheckPatternPredicate, 2,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 2, 3,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
                    MVT::i32, 5, 2, 0, 4, 5, 6, 
     0, 
    0, 
   22|128,1, TARGET_VAL(ISD::SRL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckType, MVT::i32,
    OPC_Scope, 34, 
     OPC_CheckPredicate, 13,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 0,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 2, 3,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAB), 0,
                   MVT::i32, 5, 2, 0, 4, 5, 6, 
    34, 
     OPC_CheckPredicate, 14,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 0,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 2, 3,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAH), 0,
                   MVT::i32, 5, 2, 0, 4, 5, 6, 
    34, 
     OPC_CheckPredicate, 13,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 2,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 2, 3,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAB), 0,
                   MVT::i32, 5, 2, 0, 4, 5, 6, 
    34, 
     OPC_CheckPredicate, 14,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 2,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 2, 3,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
                   MVT::i32, 5, 2, 0, 4, 5, 6, 
    0, 
   0,
  55|128,1, 
   OPC_RecordChild0,
   OPC_Scope, 29, 
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 4,
    OPC_CheckComplexPat, /*CP*/3, /*#*/1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::ADDrsi), 0,
                  MVT::i32, 6, 0, 2, 3, 4, 5, 6, 
   44, 
    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_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABB), 0,
                  MVT::i32, 5, 1, 2, 0, 3, 4, 
   29, 
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 1,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDrs), 0,
                  MVT::i32, 6, 0, 2, 3, 4, 5, 6, 
   44, 
    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_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABB), 0,
                  MVT::i32, 5, 1, 2, 0, 3, 4, 
   29, 
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 4,
    OPC_CheckComplexPat, /*CP*/3, /*#*/0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::ADDrsi), 0,
                  MVT::i32, 6, 1, 2, 3, 4, 5, 6, 
   0, 
  45, 
   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_MoveParent,
   OPC_MoveChild1,
   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, 9,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABB), 0,
                 MVT::i32, 5, 0, 1, 2, 3, 4, 
  30, 
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 1,
   OPC_CheckComplexPat, /*CP*/0, /*#*/0,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDrs), 0,
                 MVT::i32, 6, 1, 2, 3, 4, 5, 6, 
  45, 
   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_MoveParent,
   OPC_MoveChild1,
   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, 10,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABB), 0,
                 MVT::i32, 5, 0, 1, 2, 3, 4, 
  102, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_Scope, 58, 
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckPredicate, 15,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_Scope, 19, 
     OPC_CheckPatternPredicate, 9,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABB), 0,
                   MVT::i32, 5, 1, 2, 0, 3, 4, 
    19, 
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABB), 0,
                   MVT::i32, 5, 1, 2, 0, 3, 4, 
    0, 
   35, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckPredicate, 15,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABB), 0,
                  MVT::i32, 5, 2, 1, 0, 3, 4, 
   0, 
  80, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_Scope, 36, 
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckPredicate, 15,
    OPC_MoveParent,
    OPC_MoveChild1,
    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, 9,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABB), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   36, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckValueType, MVT::i16,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckPredicate, 15,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABB), 0,
                  MVT::i32, 5, 1, 0, 2, 3, 4, 
   0, 
  40, 
   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_MoveParent,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckPredicate, 15,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 10,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABB), 0,
                 MVT::i32, 5, 2, 1, 0, 3, 4, 
  55|128,1, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 76, TARGET_VAL(ISD::MUL),
    OPC_Scope, 36, 
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_MoveChild1,
     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, 10,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABB), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    36, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 10,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABB), 0,
                   MVT::i32, 5, 1, 0, 2, 3, 4, 
    0, 
   98, TARGET_VAL(ISD::VECREDUCE_ADD),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_SwitchType , 28, MVT::v4i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau32), 0,
                   MVT::i32, 6, 2, 0, 1, 3, 4, 5, 
    28, MVT::v8i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau16), 0,
                   MVT::i32, 6, 2, 0, 1, 3, 4, 5, 
    28, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau8), 0,
                   MVT::i32, 6, 2, 0, 1, 3, 4, 5, 
    0,
   0,
  88|128,1, 
   OPC_RecordChild0,
   OPC_Scope, 8|128,1, 
    OPC_MoveChild1,
    OPC_SwitchOpcode , 95, TARGET_VAL(ISD::VECREDUCE_ADD),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_SwitchType , 27, MVT::v4i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau32), 0,
                    MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
     27, MVT::v8i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau16), 0,
                    MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
     27, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau8), 0,
                    MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
     0,
    32, TARGET_VAL(ISD::MUL),
     OPC_RecordChild0,
     OPC_MoveChild0,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckPredicate, 15,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 9,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABB), 0,
                   MVT::i32, 5, 1, 2, 0, 3, 4, 
    0,
   37, 
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 16,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 1,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitNodeXForm, 3, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SUBri), 0,
                  MVT::i32, 5, 0, 3, 4, 5, 6, 
   36, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckPredicate, 15,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckPredicate, 15,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABB), 0,
                  MVT::i32, 5, 1, 2, 0, 3, 4, 
   0, 
  60, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckPredicate, 15,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckPredicate, 15,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::i32,
   OPC_Scope, 19, 
    OPC_CheckPatternPredicate, 9,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABB), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   19, 
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABB), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   0, 
  69|128,3, 
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_Scope, 29, 
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 4,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::ADDri), 0,
                  MVT::i32, 5, 0, 2, 3, 4, 5, 
   32, 
    OPC_CheckPredicate, 17,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 4,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitNodeXForm, 3, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SUBri), 0,
                  MVT::i32, 5, 0, 3, 4, 5, 6, 
   29, 
    OPC_CheckPredicate, 7,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 6,
    OPC_EmitRegister, MVT::i32, ARM::CPSR,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::tADDi3), 0,
                  MVT::i32, 5, 2, 0, 3, 4, 5, 
   29, 
    OPC_CheckPredicate, 8,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 6,
    OPC_EmitRegister, MVT::i32, ARM::CPSR,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::tADDi8), 0,
                  MVT::i32, 5, 2, 0, 3, 4, 5, 
   32, 
    OPC_CheckPredicate, 18,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 6,
    OPC_EmitRegister, MVT::i32, ARM::CPSR,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitNodeXForm, 3, 3,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::tSUBi3), 0,
                  MVT::i32, 5, 2, 0, 4, 5, 6, 
   32, 
    OPC_CheckPredicate, 19,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 6,
    OPC_EmitRegister, MVT::i32, ARM::CPSR,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitNodeXForm, 3, 3,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::tSUBi8), 0,
                  MVT::i32, 5, 2, 0, 4, 5, 6, 
   29, 
    OPC_CheckPredicate, 6,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 1,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDri), 0,
                  MVT::i32, 5, 0, 2, 3, 4, 5, 
   25, 
    OPC_CheckPredicate, 9,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 1,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDri12), 0,
                  MVT::i32, 4, 0, 2, 3, 4, 
   32, 
    OPC_CheckPredicate, 20,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 1,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitNodeXForm, 4, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SUBri), 0,
                  MVT::i32, 5, 0, 3, 4, 5, 6, 
   28, 
    OPC_CheckPredicate, 21,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 1,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitNodeXForm, 3, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SUBri12), 0,
                  MVT::i32, 4, 0, 3, 4, 5, 
   8|128,1, 
    OPC_CheckPredicate, 22,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 42, 
     OPC_CheckPatternPredicate, 3,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 3, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::MOVi16), 0,
                   MVT::i32, 3, 3, 4, 5, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::SUBrr), 0,
                   MVT::i32, 5, 0, 6, 7, 8, 9, 
    42, 
     OPC_CheckPatternPredicate, 1,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 3, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::t2MOVi16), 0,
                   MVT::i32, 3, 3, 4, 5, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SUBrr), 0,
                   MVT::i32, 5, 0, 6, 7, 8, 9, 
    42, 
     OPC_CheckPatternPredicate, 11,
     OPC_EmitRegister, MVT::i32, ARM::CPSR,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 3, 3,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::t2MOVi16), 0,
                   MVT::i32, 3, 4, 5, 6, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tSUBrr), 0,
                   MVT::i32, 5, 2, 0, 7, 8, 9, 
    0, 
   0, 
  90, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 56, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 23, 
     OPC_CheckPatternPredicate, 12,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MLA), 0,
                   MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
    23, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MLAv5), 0,
                   MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   25, TARGET_VAL(ISD::MULHS),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 12,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMMLA), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   0,
  119, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 24, TARGET_VAL(ARMISD::SMULWB),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLAWB), 0,
                  MVT::i32, 5, 1, 2, 0, 3, 4, 
   24, TARGET_VAL(ARMISD::SMULWT),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLAWT), 0,
                  MVT::i32, 5, 1, 2, 0, 3, 4, 
   58, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_Scope, 26, 
     OPC_CheckValueType, MVT::i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAB), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    26, 
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAH), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    0, 
   0,
  59, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 25, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2MLA), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   25, TARGET_VAL(ISD::MULHS),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMMLA), 0,
                  MVT::i32, 5, 1, 0, 2, 3, 4, 
   0,
  119, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 24, TARGET_VAL(ARMISD::SMULWB),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLAWB), 0,
                  MVT::i32, 5, 1, 2, 0, 3, 4, 
   24, TARGET_VAL(ARMISD::SMULWT),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLAWT), 0,
                  MVT::i32, 5, 1, 2, 0, 3, 4, 
   58, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_Scope, 26, 
     OPC_CheckValueType, MVT::i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 2,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAB), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    26, 
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 2,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    0, 
   0,
  116|128,5, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 90, TARGET_VAL(ARMISD::VADDVs),
    OPC_RecordChild0,
    OPC_Scope, 28, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVs8acc), 0,
                   MVT::i32, 5, 1, 0, 2, 3, 4, 
    28, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVs16acc), 0,
                   MVT::i32, 5, 1, 0, 2, 3, 4, 
    28, 
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVs32acc), 0,
                   MVT::i32, 5, 1, 0, 2, 3, 4, 
    0, 
   90, TARGET_VAL(ARMISD::VADDVps),
    OPC_RecordChild0,
    OPC_Scope, 28, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v16i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVs8acc), 0,
                   MVT::i32, 5, 2, 0, 3, 1, 4, 
    28, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v8i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVs16acc), 0,
                   MVT::i32, 5, 2, 0, 3, 1, 4, 
    28, 
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v4i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVs32acc), 0,
                   MVT::i32, 5, 2, 0, 3, 1, 4, 
    0, 
   90, TARGET_VAL(ISD::VECREDUCE_ADD),
    OPC_RecordChild0,
    OPC_Scope, 28, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu8acc), 0,
                   MVT::i32, 5, 1, 0, 2, 3, 4, 
    28, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu16acc), 0,
                   MVT::i32, 5, 1, 0, 2, 3, 4, 
    28, 
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu32acc), 0,
                   MVT::i32, 5, 1, 0, 2, 3, 4, 
    0, 
   90, TARGET_VAL(ARMISD::VADDVu),
    OPC_RecordChild0,
    OPC_Scope, 28, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu8acc), 0,
                   MVT::i32, 5, 1, 0, 2, 3, 4, 
    28, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu16acc), 0,
                   MVT::i32, 5, 1, 0, 2, 3, 4, 
    28, 
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu32acc), 0,
                   MVT::i32, 5, 1, 0, 2, 3, 4, 
    0, 
   90, TARGET_VAL(ARMISD::VADDVpu),
    OPC_RecordChild0,
    OPC_Scope, 28, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v16i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu8acc), 0,
                   MVT::i32, 5, 2, 0, 3, 1, 4, 
    28, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v8i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu16acc), 0,
                   MVT::i32, 5, 2, 0, 3, 1, 4, 
    28, 
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v4i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu32acc), 0,
                   MVT::i32, 5, 2, 0, 3, 1, 4, 
    0, 
   69, TARGET_VAL(ARMISD::VMLAVs),
    OPC_RecordChild0,
    OPC_Scope, 32, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVas16), 0,
                   MVT::i32, 6, 2, 0, 1, 3, 4, 5, 
    32, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVas8), 0,
                   MVT::i32, 6, 2, 0, 1, 3, 4, 5, 
    0, 
   69, TARGET_VAL(ARMISD::VMLAVu),
    OPC_RecordChild0,
    OPC_Scope, 32, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau16), 0,
                   MVT::i32, 6, 2, 0, 1, 3, 4, 5, 
    32, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau8), 0,
                   MVT::i32, 6, 2, 0, 1, 3, 4, 5, 
    0, 
   69, TARGET_VAL(ARMISD::VMLAVps),
    OPC_RecordChild0,
    OPC_Scope, 32, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVas16), 0,
                   MVT::i32, 6, 3, 0, 1, 4, 2, 5, 
    32, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v16i8,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVas8), 0,
                   MVT::i32, 6, 3, 0, 1, 4, 2, 5, 
    0, 
   69, TARGET_VAL(ARMISD::VMLAVpu),
    OPC_RecordChild0,
    OPC_Scope, 32, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau16), 0,
                   MVT::i32, 6, 3, 0, 1, 4, 2, 5, 
    32, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_RecordChild1,
     OPC_CheckChild1Type, MVT::v16i8,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau8), 0,
                   MVT::i32, 6, 3, 0, 1, 4, 2, 5, 
    0, 
   0,
  89, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 55, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 23, 
     OPC_CheckPatternPredicate, 12,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MLA), 0,
                   MVT::i32, 6, 1, 2, 0, 3, 4, 5, 
    23, 
     OPC_CheckPatternPredicate, 13,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MLAv5), 0,
                   MVT::i32, 6, 1, 2, 0, 3, 4, 5, 
    0, 
   24, TARGET_VAL(ISD::MULHS),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 12,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMMLA), 0,
                  MVT::i32, 5, 1, 2, 0, 3, 4, 
   0,
  59, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 25, TARGET_VAL(ARMISD::SMULWB),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLAWB), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   25, TARGET_VAL(ARMISD::SMULWT),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 9,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLAWT), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   0,
  58, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 24, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 14,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2MLA), 0,
                  MVT::i32, 5, 1, 2, 0, 3, 4, 
   24, TARGET_VAL(ISD::MULHS),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMMLA), 0,
                  MVT::i32, 5, 2, 1, 0, 3, 4, 
   0,
  46|128,1, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 25, TARGET_VAL(ARMISD::SMULWB),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLAWB), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   25, TARGET_VAL(ARMISD::SMULWT),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 10,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLAWT), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   112, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_Scope, 53, 
     OPC_CheckValueType, MVT::i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_Scope, 22, 
      OPC_CheckPatternPredicate, 0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAB), 0,
                    MVT::i32, 5, 1, 0, 2, 3, 4, 
     22, 
      OPC_CheckPatternPredicate, 2,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAB), 0,
                    MVT::i32, 5, 1, 0, 2, 3, 4, 
     0, 
    53, 
     OPC_CheckValueType, MVT::i16,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_Scope, 22, 
      OPC_CheckPatternPredicate, 0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAH), 0,
                    MVT::i32, 5, 1, 0, 2, 3, 4, 
     22, 
      OPC_CheckPatternPredicate, 2,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAH), 0,
                    MVT::i32, 5, 1, 0, 2, 3, 4, 
     0, 
    0, 
   0,
  36|128,7, 
   OPC_RecordChild0,
   OPC_Scope, 93|128,5, 
    OPC_MoveChild1,
    OPC_SwitchOpcode , 87, TARGET_VAL(ISD::VECREDUCE_ADD),
     OPC_RecordChild0,
     OPC_Scope, 27, 
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu8acc), 0,
                    MVT::i32, 5, 0, 1, 2, 3, 4, 
     27, 
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu16acc), 0,
                    MVT::i32, 5, 0, 1, 2, 3, 4, 
     27, 
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu32acc), 0,
                    MVT::i32, 5, 0, 1, 2, 3, 4, 
     0, 
    87, TARGET_VAL(ARMISD::VADDVu),
     OPC_RecordChild0,
     OPC_Scope, 27, 
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu8acc), 0,
                    MVT::i32, 5, 0, 1, 2, 3, 4, 
     27, 
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu16acc), 0,
                    MVT::i32, 5, 0, 1, 2, 3, 4, 
     27, 
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu32acc), 0,
                    MVT::i32, 5, 0, 1, 2, 3, 4, 
     0, 
    87, TARGET_VAL(ARMISD::VADDVpu),
     OPC_RecordChild0,
     OPC_Scope, 27, 
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v16i1,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu8acc), 0,
                    MVT::i32, 5, 0, 1, 3, 2, 4, 
     27, 
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v8i1,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu16acc), 0,
                    MVT::i32, 5, 0, 1, 3, 2, 4, 
     27, 
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v4i1,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu32acc), 0,
                    MVT::i32, 5, 0, 1, 3, 2, 4, 
     0, 
    87, TARGET_VAL(ARMISD::VADDVs),
     OPC_RecordChild0,
     OPC_Scope, 27, 
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVs8acc), 0,
                    MVT::i32, 5, 0, 1, 2, 3, 4, 
     27, 
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVs16acc), 0,
                    MVT::i32, 5, 0, 1, 2, 3, 4, 
     27, 
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVs32acc), 0,
                    MVT::i32, 5, 0, 1, 2, 3, 4, 
     0, 
    87, TARGET_VAL(ARMISD::VADDVps),
     OPC_RecordChild0,
     OPC_Scope, 27, 
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v16i1,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVs8acc), 0,
                    MVT::i32, 5, 0, 1, 3, 2, 4, 
     27, 
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v8i1,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVs16acc), 0,
                    MVT::i32, 5, 0, 1, 3, 2, 4, 
     27, 
      OPC_CheckChild0Type, MVT::v4i32,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v4i1,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVs32acc), 0,
                    MVT::i32, 5, 0, 1, 3, 2, 4, 
     0, 
    67, TARGET_VAL(ARMISD::VMLAVs),
     OPC_RecordChild0,
     OPC_Scope, 31, 
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVas16), 0,
                    MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
     31, 
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVas8), 0,
                    MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    67, TARGET_VAL(ARMISD::VMLAVu),
     OPC_RecordChild0,
     OPC_Scope, 31, 
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau16), 0,
                    MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
     31, 
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau8), 0,
                    MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    67, TARGET_VAL(ARMISD::VMLAVps),
     OPC_RecordChild0,
     OPC_Scope, 31, 
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v8i16,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8i1,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVas16), 0,
                    MVT::i32, 6, 0, 1, 2, 4, 3, 5, 
     31, 
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v16i8,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v16i1,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVas8), 0,
                    MVT::i32, 6, 0, 1, 2, 4, 3, 5, 
     0, 
    67, TARGET_VAL(ARMISD::VMLAVpu),
     OPC_RecordChild0,
     OPC_Scope, 31, 
      OPC_CheckChild0Type, MVT::v8i16,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v8i16,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8i1,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau16), 0,
                    MVT::i32, 6, 0, 1, 2, 4, 3, 5, 
     31, 
      OPC_CheckChild0Type, MVT::v16i8,
      OPC_RecordChild1,
      OPC_CheckChild1Type, MVT::v16i8,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v16i1,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau8), 0,
                    MVT::i32, 6, 0, 1, 2, 4, 3, 5, 
     0, 
    0,
   89, 
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 22, 
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::ADDrr), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    22, 
     OPC_CheckPatternPredicate, 6,
     OPC_EmitRegister, MVT::i32, ARM::CPSR,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tADDrr), 0,
                   MVT::i32, 5, 2, 0, 1, 3, 4, 
    37, 
     OPC_CheckPatternPredicate, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_Scope, 11, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDrr), 0,
                    MVT::i32, 5, 0, 1, 2, 3, 4, 
     11, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ADDrr), 0,
                    MVT::i32, 5, 1, 0, 2, 3, 4, 
     0, 
    0, 
   103, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_Scope, 47, 
     OPC_CheckChild0Type, MVT::v16i1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_MoveParent,
     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_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADD_qr_i8), 0,
                   MVT::v16i8, 6, 0, 2, 3, 1, 4, 0, 
    47, 
     OPC_CheckChild0Type, MVT::v8i1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_MoveParent,
     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_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADD_qr_i16), 0,
                   MVT::v8i16, 6, 0, 2, 3, 1, 4, 0, 
    0, 
   0, 
  105, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
   OPC_RecordChild0,
   OPC_Scope, 48, 
    OPC_CheckChild0Type, MVT::v16i1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::i32,
    OPC_MoveParent,
    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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADD_qr_i8), 0,
                  MVT::v16i8, 6, 2, 1, 3, 0, 4, 2, 
   48, 
    OPC_CheckChild0Type, MVT::v8i1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::i32,
    OPC_MoveParent,
    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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADD_qr_i16), 0,
                  MVT::v8i16, 6, 2, 1, 3, 0, 4, 2, 
   0, 
  3|128,1, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
   OPC_RecordChild0,
   OPC_Scope, 40, 
    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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDi8), 0,
                  MVT::v16i8, 6, 0, 2, 3, 1, 4, 0, 
   40, 
    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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDi16), 0,
                  MVT::v8i16, 6, 0, 2, 3, 1, 4, 0, 
   40, 
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::i32,
    OPC_MoveParent,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 0, 
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADD_qr_i32), 0,
                  MVT::v4i32, 6, 0, 2, 3, 1, 4, 0, 
   0, 
  5|128,1, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::VSELECT),
   OPC_RecordChild0,
   OPC_Scope, 41, 
    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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDi8), 0,
                  MVT::v16i8, 6, 2, 1, 3, 0, 4, 2, 
   41, 
    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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDi16), 0,
                  MVT::v8i16, 6, 2, 1, 3, 0, 4, 2, 
   41, 
    OPC_CheckChild0Type, MVT::v4i1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::i32,
    OPC_MoveParent,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 0, 
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADD_qr_i32), 0,
                  MVT::v4i32, 6, 2, 1, 3, 0, 4, 2, 
   0, 
  117|128,1, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 72|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 96, 
     OPC_CheckChild0Integer, 28|128,40, 
     OPC_RecordChild1,
     OPC_SwitchType , 28, MVT::v8i8,
      OPC_CheckChild1Type, MVT::v8i8,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALsv8i16), 0,
                    MVT::v8i16, 5, 0, 1, 2, 3, 4, 
     28, MVT::v4i16,
      OPC_CheckChild1Type, MVT::v4i16,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALsv4i32), 0,
                    MVT::v4i32, 5, 0, 1, 2, 3, 4, 
     28, MVT::v2i32,
      OPC_CheckChild1Type, MVT::v2i32,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALsv2i64), 0,
                    MVT::v2i64, 5, 0, 1, 2, 3, 4, 
     0,
    96, 
     OPC_CheckChild0Integer, 30|128,40, 
     OPC_RecordChild1,
     OPC_SwitchType , 28, MVT::v8i8,
      OPC_CheckChild1Type, MVT::v8i8,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALuv8i16), 0,
                    MVT::v8i16, 5, 0, 1, 2, 3, 4, 
     28, MVT::v4i16,
      OPC_CheckChild1Type, MVT::v4i16,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALuv4i32), 0,
                    MVT::v4i32, 5, 0, 1, 2, 3, 4, 
     28, MVT::v2i32,
      OPC_CheckChild1Type, MVT::v2i32,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALuv2i64), 0,
                    MVT::v2i64, 5, 0, 1, 2, 3, 4, 
     0,
    0, 
   34, 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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDi32), 0,
                  MVT::v4i32, 6, 0, 2, 3, 1, 4, 0, 
   0,
  123|128,1, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 78|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 99, 
     OPC_CheckChild0Integer, 28|128,40, 
     OPC_RecordChild1,
     OPC_SwitchType , 29, MVT::v8i8,
      OPC_CheckChild1Type, MVT::v8i8,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALsv8i16), 0,
                    MVT::v8i16, 5, 2, 0, 1, 3, 4, 
     29, MVT::v4i16,
      OPC_CheckChild1Type, MVT::v4i16,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALsv4i32), 0,
                    MVT::v4i32, 5, 2, 0, 1, 3, 4, 
     29, MVT::v2i32,
      OPC_CheckChild1Type, MVT::v2i32,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALsv2i64), 0,
                    MVT::v2i64, 5, 2, 0, 1, 3, 4, 
     0,
    99, 
     OPC_CheckChild0Integer, 30|128,40, 
     OPC_RecordChild1,
     OPC_SwitchType , 29, MVT::v8i8,
      OPC_CheckChild1Type, MVT::v8i8,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALuv8i16), 0,
                    MVT::v8i16, 5, 2, 0, 1, 3, 4, 
     29, MVT::v4i16,
      OPC_CheckChild1Type, MVT::v4i16,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALuv4i32), 0,
                    MVT::v4i32, 5, 2, 0, 1, 3, 4, 
     29, MVT::v2i32,
      OPC_CheckChild1Type, MVT::v2i32,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VABALuv2i64), 0,
                    MVT::v2i64, 5, 2, 0, 1, 3, 4, 
     0,
    0, 
   35, 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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDi32), 0,
                  MVT::v4i32, 6, 2, 1, 3, 0, 4, 2, 
   0,
  107|128,2, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 47|128,1, TARGET_VAL(ISD::MUL),
    OPC_Scope, 2|128,1, 
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_Scope, 60, 
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 22, MVT::v4i16,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitConvertToTarget, 3,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i16), 0,
                     MVT::v4i16, 6, 0, 1, 2, 4, 5, 6, 
      22, MVT::v8i16,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitConvertToTarget, 3,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv8i16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 4, 5, 6, 
      0,
     60, 
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_RecordChild1,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 22, MVT::v2i32,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitConvertToTarget, 3,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv2i32), 0,
                     MVT::v2i32, 6, 0, 1, 2, 4, 5, 6, 
      22, MVT::v4i32,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitConvertToTarget, 3,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 4, 5, 6, 
      0,
     0, 
    40, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i16), 0,
                   MVT::v4i16, 6, 0, 3, 1, 4, 5, 6, 
    0, 
   87, TARGET_VAL(ARMISD::VMULLs),
    OPC_RecordChild0,
    OPC_Scope, 41, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 3,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALslsv4i16), 0,
                   MVT::v4i32, 6, 0, 1, 2, 4, 5, 6, 
    41, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 3,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALslsv2i32), 0,
                   MVT::v2i64, 6, 0, 1, 2, 4, 5, 6, 
    0, 
   87, TARGET_VAL(ARMISD::VMULLu),
    OPC_RecordChild0,
    OPC_Scope, 41, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 3,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsluv4i16), 0,
                   MVT::v4i32, 6, 0, 1, 2, 4, 5, 6, 
    41, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 3,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsluv2i32), 0,
                   MVT::v2i64, 6, 0, 1, 2, 4, 5, 6, 
    0, 
   0,
  90, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_Scope, 41, 
    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_CheckPatternPredicate, 7,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i16), 0,
                  MVT::v4i16, 6, 3, 0, 1, 4, 5, 6, 
   41, 
    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_CheckPatternPredicate, 7,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i16), 0,
                  MVT::v4i16, 6, 3, 2, 0, 4, 5, 6, 
   0, 
  45, 
   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_CheckPatternPredicate, 7,
   OPC_EmitConvertToTarget, 2,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv2i32), 0,
                 MVT::v2i32, 6, 0, 3, 1, 4, 5, 6, 
  90, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_Scope, 41, 
    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_CheckPatternPredicate, 7,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv2i32), 0,
                  MVT::v2i32, 6, 3, 0, 1, 4, 5, 6, 
   41, 
    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_CheckPatternPredicate, 7,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv2i32), 0,
                  MVT::v2i32, 6, 3, 2, 0, 4, 5, 6, 
   0, 
  45, 
   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_CheckPatternPredicate, 7,
   OPC_EmitConvertToTarget, 2,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv8i16), 0,
                 MVT::v8i16, 6, 0, 3, 1, 4, 5, 6, 
  90, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_Scope, 41, 
    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_CheckPatternPredicate, 7,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv8i16), 0,
                  MVT::v8i16, 6, 3, 0, 1, 4, 5, 6, 
   41, 
    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_CheckPatternPredicate, 7,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv8i16), 0,
                  MVT::v8i16, 6, 3, 2, 0, 4, 5, 6, 
   0, 
  45, 
   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_CheckPatternPredicate, 7,
   OPC_EmitConvertToTarget, 2,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i32), 0,
                 MVT::v4i32, 6, 0, 3, 1, 4, 5, 6, 
  20|128,2, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 86, TARGET_VAL(ISD::MUL),
    OPC_Scope, 41, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i32), 0,
                   MVT::v4i32, 6, 3, 0, 1, 4, 5, 6, 
    41, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i32), 0,
                   MVT::v4i32, 6, 3, 2, 0, 4, 5, 6, 
    0, 
   89, TARGET_VAL(ARMISD::VMULLs),
    OPC_RecordChild0,
    OPC_Scope, 42, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALslsv4i16), 0,
                   MVT::v4i32, 6, 3, 0, 1, 4, 5, 6, 
    42, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALslsv2i32), 0,
                   MVT::v2i64, 6, 3, 0, 1, 4, 5, 6, 
    0, 
   89, TARGET_VAL(ARMISD::VMULLu),
    OPC_RecordChild0,
    OPC_Scope, 42, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsluv4i16), 0,
                   MVT::v4i32, 6, 3, 0, 1, 4, 5, 6, 
    42, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsluv2i32), 0,
                   MVT::v2i64, 6, 3, 0, 1, 4, 5, 6, 
    0, 
   0,
  47|128,1, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, 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::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 3,
     OPC_EmitNodeXForm, 5, 4,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::v4i16, 2, 2, 5, 
     OPC_EmitConvertToTarget, 3,
     OPC_EmitNodeXForm, 6, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv8i16), 0,
                   MVT::v8i16, 6, 0, 1, 6, 8, 9, 10, 
    50, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 3,
     OPC_EmitNodeXForm, 7, 4,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::v2i32, 2, 2, 5, 
     OPC_EmitConvertToTarget, 3,
     OPC_EmitNodeXForm, 8, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i32), 0,
                   MVT::v4i32, 6, 0, 1, 6, 8, 9, 10, 
    0, 
   56, 
    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_CheckPatternPredicate, 7,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitNodeXForm, 5, 4,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::v4i16, 2, 1, 5, 
    OPC_EmitConvertToTarget, 2,
    OPC_EmitNodeXForm, 6, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv8i16), 0,
                  MVT::v8i16, 6, 0, 3, 6, 8, 9, 10, 
   0, 
  122, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_Scope, 57, 
    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_CheckPatternPredicate, 7,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitNodeXForm, 5, 4,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::v4i16, 2, 1, 5, 
    OPC_EmitConvertToTarget, 2,
    OPC_EmitNodeXForm, 6, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv8i16), 0,
                  MVT::v8i16, 6, 3, 0, 6, 8, 9, 10, 
   57, 
    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_CheckPatternPredicate, 7,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitNodeXForm, 5, 4,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::v4i16, 2, 0, 5, 
    OPC_EmitConvertToTarget, 1,
    OPC_EmitNodeXForm, 6, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv8i16), 0,
                  MVT::v8i16, 6, 3, 2, 6, 8, 9, 10, 
   0, 
  61, 
   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_CheckPatternPredicate, 7,
   OPC_EmitConvertToTarget, 2,
   OPC_EmitNodeXForm, 7, 4,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                 MVT::v2i32, 2, 1, 5, 
   OPC_EmitConvertToTarget, 2,
   OPC_EmitNodeXForm, 8, 7,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i32), 0,
                 MVT::v4i32, 6, 0, 3, 6, 8, 9, 10, 
  122, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_Scope, 57, 
    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_CheckPatternPredicate, 7,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitNodeXForm, 7, 4,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::v2i32, 2, 1, 5, 
    OPC_EmitConvertToTarget, 2,
    OPC_EmitNodeXForm, 8, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i32), 0,
                  MVT::v4i32, 6, 3, 0, 6, 8, 9, 10, 
   57, 
    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_CheckPatternPredicate, 7,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitNodeXForm, 7, 4,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::v2i32, 2, 0, 5, 
    OPC_EmitConvertToTarget, 1,
    OPC_EmitNodeXForm, 8, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAslv4i32), 0,
                  MVT::v4i32, 6, 3, 2, 6, 8, 9, 10, 
   0, 
  103|128,2, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
   OPC_Scope, 46|128,1, 
    OPC_CheckChild0Integer, 28|128,40, 
    OPC_RecordChild1,
    OPC_Scope, 27, 
     OPC_CheckChild1Type, MVT::v8i8,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv8i8), 0,
                   MVT::v8i8, 5, 0, 1, 2, 3, 4, 
    27, 
     OPC_CheckChild1Type, MVT::v4i16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv4i16), 0,
                   MVT::v4i16, 5, 0, 1, 2, 3, 4, 
    27, 
     OPC_CheckChild1Type, MVT::v2i32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv2i32), 0,
                   MVT::v2i32, 5, 0, 1, 2, 3, 4, 
    27, 
     OPC_CheckChild1Type, MVT::v16i8,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv16i8), 0,
                   MVT::v16i8, 5, 0, 1, 2, 3, 4, 
    27, 
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv8i16), 0,
                   MVT::v8i16, 5, 0, 1, 2, 3, 4, 
    27, 
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv4i32), 0,
                   MVT::v4i32, 5, 0, 1, 2, 3, 4, 
    0, 
   46|128,1, 
    OPC_CheckChild0Integer, 30|128,40, 
    OPC_RecordChild1,
    OPC_Scope, 27, 
     OPC_CheckChild1Type, MVT::v8i8,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv8i8), 0,
                   MVT::v8i8, 5, 0, 1, 2, 3, 4, 
    27, 
     OPC_CheckChild1Type, MVT::v4i16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv4i16), 0,
                   MVT::v4i16, 5, 0, 1, 2, 3, 4, 
    27, 
     OPC_CheckChild1Type, MVT::v2i32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv2i32), 0,
                   MVT::v2i32, 5, 0, 1, 2, 3, 4, 
    27, 
     OPC_CheckChild1Type, MVT::v16i8,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv16i8), 0,
                   MVT::v16i8, 5, 0, 1, 2, 3, 4, 
    27, 
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv8i16), 0,
                   MVT::v8i16, 5, 0, 1, 2, 3, 4, 
    27, 
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv4i32), 0,
                   MVT::v4i32, 5, 0, 1, 2, 3, 4, 
    0, 
   0, 
  87|128,6, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 110|128,2, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 52|128,1, 
     OPC_CheckChild0Integer, 28|128,40, 
     OPC_RecordChild1,
     OPC_Scope, 28, 
      OPC_CheckChild1Type, MVT::v8i8,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv8i8), 0,
                    MVT::v8i8, 5, 2, 0, 1, 3, 4, 
     28, 
      OPC_CheckChild1Type, MVT::v4i16,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv4i16), 0,
                    MVT::v4i16, 5, 2, 0, 1, 3, 4, 
     28, 
      OPC_CheckChild1Type, MVT::v2i32,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv2i32), 0,
                    MVT::v2i32, 5, 2, 0, 1, 3, 4, 
     28, 
      OPC_CheckChild1Type, MVT::v16i8,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv16i8), 0,
                    MVT::v16i8, 5, 2, 0, 1, 3, 4, 
     28, 
      OPC_CheckChild1Type, MVT::v8i16,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv8i16), 0,
                    MVT::v8i16, 5, 2, 0, 1, 3, 4, 
     28, 
      OPC_CheckChild1Type, MVT::v4i32,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v4i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAsv4i32), 0,
                    MVT::v4i32, 5, 2, 0, 1, 3, 4, 
     0, 
    52|128,1, 
     OPC_CheckChild0Integer, 30|128,40, 
     OPC_RecordChild1,
     OPC_Scope, 28, 
      OPC_CheckChild1Type, MVT::v8i8,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i8,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv8i8), 0,
                    MVT::v8i8, 5, 2, 0, 1, 3, 4, 
     28, 
      OPC_CheckChild1Type, MVT::v4i16,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv4i16), 0,
                    MVT::v4i16, 5, 2, 0, 1, 3, 4, 
     28, 
      OPC_CheckChild1Type, MVT::v2i32,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv2i32), 0,
                    MVT::v2i32, 5, 2, 0, 1, 3, 4, 
     28, 
      OPC_CheckChild1Type, MVT::v16i8,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v16i8,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i8,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv16i8), 0,
                    MVT::v16i8, 5, 2, 0, 1, 3, 4, 
     28, 
      OPC_CheckChild1Type, MVT::v8i16,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8i16,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv8i16), 0,
                    MVT::v8i16, 5, 2, 0, 1, 3, 4, 
     28, 
      OPC_CheckChild1Type, MVT::v4i32,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v4i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VABAuv4i32), 0,
                    MVT::v4i32, 5, 2, 0, 1, 3, 4, 
     0, 
    0, 
   99, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 31, 
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLsv8i16), 0,
                   MVT::v8i16, 4, 0, 1, 2, 3, 
    31, 
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLsv4i32), 0,
                   MVT::v4i32, 4, 0, 1, 2, 3, 
    31, 
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLsv2i64), 0,
                   MVT::v2i64, 4, 0, 1, 2, 3, 
    0, 
   58|128,1, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 60, 
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_SwitchOpcode , 24, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLuv8i16), 0,
                    MVT::v8i16, 4, 0, 1, 2, 3, 
     24, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLuv8i16), 0,
                    MVT::v8i16, 4, 0, 1, 2, 3, 
     0,
    60, 
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_SwitchOpcode , 24, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLuv4i32), 0,
                    MVT::v4i32, 4, 0, 1, 2, 3, 
     24, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLuv4i32), 0,
                    MVT::v4i32, 4, 0, 1, 2, 3, 
     0,
    60, 
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_SwitchOpcode , 24, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLuv2i64), 0,
                    MVT::v2i64, 4, 0, 1, 2, 3, 
     24, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLuv2i64), 0,
                    MVT::v2i64, 4, 0, 1, 2, 3, 
     0,
    0, 
   58|128,1, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 60, 
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_SwitchOpcode , 24, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLuv8i16), 0,
                    MVT::v8i16, 4, 0, 1, 2, 3, 
     24, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v8i8,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLuv8i16), 0,
                    MVT::v8i16, 4, 0, 1, 2, 3, 
     0,
    60, 
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_SwitchOpcode , 24, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLuv4i32), 0,
                    MVT::v4i32, 4, 0, 1, 2, 3, 
     24, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v4i16,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLuv4i32), 0,
                    MVT::v4i32, 4, 0, 1, 2, 3, 
     0,
    60, 
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveParent,
     OPC_MoveChild1,
     OPC_SwitchOpcode , 24, TARGET_VAL(ISD::ZERO_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLuv2i64), 0,
                    MVT::v2i64, 4, 0, 1, 2, 3, 
     24, TARGET_VAL(ISD::ANY_EXTEND),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::v2i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v2i64,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDLuv2i64), 0,
                    MVT::v2i64, 4, 0, 1, 2, 3, 
     0,
    0, 
   0,
  28|128,6, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 66|128,1, TARGET_VAL(ARMISD::VSHRsIMM),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 21, MVT::v8i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv8i8), 0,
                   MVT::v8i8, 5, 0, 1, 3, 4, 5, 
    21, MVT::v4i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv4i16), 0,
                   MVT::v4i16, 5, 0, 1, 3, 4, 5, 
    21, MVT::v2i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv2i32), 0,
                   MVT::v2i32, 5, 0, 1, 3, 4, 5, 
    21, MVT::v1i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv1i64), 0,
                   MVT::v1i64, 5, 0, 1, 3, 4, 5, 
    21, MVT::v16i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv16i8), 0,
                   MVT::v16i8, 5, 0, 1, 3, 4, 5, 
    21, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv8i16), 0,
                   MVT::v8i16, 5, 0, 1, 3, 4, 5, 
    21, MVT::v4i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv4i32), 0,
                   MVT::v4i32, 5, 0, 1, 3, 4, 5, 
    21, MVT::v2i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv2i64), 0,
                   MVT::v2i64, 5, 0, 1, 3, 4, 5, 
    0,
   66|128,1, TARGET_VAL(ARMISD::VSHRuIMM),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 21, MVT::v8i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv8i8), 0,
                   MVT::v8i8, 5, 0, 1, 3, 4, 5, 
    21, MVT::v4i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv4i16), 0,
                   MVT::v4i16, 5, 0, 1, 3, 4, 5, 
    21, MVT::v2i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv2i32), 0,
                   MVT::v2i32, 5, 0, 1, 3, 4, 5, 
    21, MVT::v1i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv1i64), 0,
                   MVT::v1i64, 5, 0, 1, 3, 4, 5, 
    21, MVT::v16i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv16i8), 0,
                   MVT::v16i8, 5, 0, 1, 3, 4, 5, 
    21, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv8i16), 0,
                   MVT::v8i16, 5, 0, 1, 3, 4, 5, 
    21, MVT::v4i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv4i32), 0,
                   MVT::v4i32, 5, 0, 1, 3, 4, 5, 
    21, MVT::v2i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv2i64), 0,
                   MVT::v2i64, 5, 0, 1, 3, 4, 5, 
    0,
   66|128,1, TARGET_VAL(ARMISD::VRSHRsIMM),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 21, MVT::v8i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv8i8), 0,
                   MVT::v8i8, 5, 0, 1, 3, 4, 5, 
    21, MVT::v4i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv4i16), 0,
                   MVT::v4i16, 5, 0, 1, 3, 4, 5, 
    21, MVT::v2i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv2i32), 0,
                   MVT::v2i32, 5, 0, 1, 3, 4, 5, 
    21, MVT::v1i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv1i64), 0,
                   MVT::v1i64, 5, 0, 1, 3, 4, 5, 
    21, MVT::v16i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv16i8), 0,
                   MVT::v16i8, 5, 0, 1, 3, 4, 5, 
    21, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv8i16), 0,
                   MVT::v8i16, 5, 0, 1, 3, 4, 5, 
    21, MVT::v4i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv4i32), 0,
                   MVT::v4i32, 5, 0, 1, 3, 4, 5, 
    21, MVT::v2i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv2i64), 0,
                   MVT::v2i64, 5, 0, 1, 3, 4, 5, 
    0,
   66|128,1, TARGET_VAL(ARMISD::VRSHRuIMM),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_SwitchType , 21, MVT::v8i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv8i8), 0,
                   MVT::v8i8, 5, 0, 1, 3, 4, 5, 
    21, MVT::v4i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv4i16), 0,
                   MVT::v4i16, 5, 0, 1, 3, 4, 5, 
    21, MVT::v2i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv2i32), 0,
                   MVT::v2i32, 5, 0, 1, 3, 4, 5, 
    21, MVT::v1i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv1i64), 0,
                   MVT::v1i64, 5, 0, 1, 3, 4, 5, 
    21, MVT::v16i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv16i8), 0,
                   MVT::v16i8, 5, 0, 1, 3, 4, 5, 
    21, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv8i16), 0,
                   MVT::v8i16, 5, 0, 1, 3, 4, 5, 
    21, MVT::v4i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv4i32), 0,
                   MVT::v4i32, 5, 0, 1, 3, 4, 5, 
    21, MVT::v2i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv2i64), 0,
                   MVT::v2i64, 5, 0, 1, 3, 4, 5, 
    0,
   0,
  38|128,8, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 92|128,1, TARGET_VAL(ISD::MUL),
    OPC_Scope, 51|128,1, 
     OPC_RecordChild0,
     OPC_Scope, 87, 
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::i32,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_SwitchType , 23, MVT::v16i8,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLA_qr_i8), 0,
                     MVT::v16i8, 6, 2, 0, 1, 3, 4, 5, 
      23, MVT::v8i16,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLA_qr_i16), 0,
                     MVT::v8i16, 6, 2, 0, 1, 3, 4, 5, 
      23, MVT::v4i32,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLA_qr_i32), 0,
                     MVT::v4i32, 6, 2, 0, 1, 3, 4, 5, 
      0,
     87, 
      OPC_RecordChild1,
      OPC_MoveParent,
      OPC_MoveChild1,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::i32,
      OPC_MoveParent,
      OPC_SwitchType , 23, MVT::v16i8,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLAS_qr_i8), 0,
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
      23, MVT::v8i16,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLAS_qr_i16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
      23, MVT::v4i32,
       OPC_CheckPatternPredicate, 8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLAS_qr_i32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
      0,
     0, 
    36, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLA_qr_i8), 0,
                   MVT::v16i8, 6, 2, 1, 0, 3, 4, 5, 
    0, 
   67|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 , 21, MVT::v8i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv8i8), 0,
                   MVT::v8i8, 5, 2, 0, 3, 4, 5, 
    21, MVT::v4i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv4i16), 0,
                   MVT::v4i16, 5, 2, 0, 3, 4, 5, 
    21, MVT::v2i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv2i32), 0,
                   MVT::v2i32, 5, 2, 0, 3, 4, 5, 
    21, MVT::v1i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv1i64), 0,
                   MVT::v1i64, 5, 2, 0, 3, 4, 5, 
    21, MVT::v16i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv16i8), 0,
                   MVT::v16i8, 5, 2, 0, 3, 4, 5, 
    21, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv8i16), 0,
                   MVT::v8i16, 5, 2, 0, 3, 4, 5, 
    21, MVT::v4i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv4i32), 0,
                   MVT::v4i32, 5, 2, 0, 3, 4, 5, 
    21, MVT::v2i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAsv2i64), 0,
                   MVT::v2i64, 5, 2, 0, 3, 4, 5, 
    0,
   67|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 , 21, MVT::v8i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv8i8), 0,
                   MVT::v8i8, 5, 2, 0, 3, 4, 5, 
    21, MVT::v4i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv4i16), 0,
                   MVT::v4i16, 5, 2, 0, 3, 4, 5, 
    21, MVT::v2i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv2i32), 0,
                   MVT::v2i32, 5, 2, 0, 3, 4, 5, 
    21, MVT::v1i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv1i64), 0,
                   MVT::v1i64, 5, 2, 0, 3, 4, 5, 
    21, MVT::v16i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv16i8), 0,
                   MVT::v16i8, 5, 2, 0, 3, 4, 5, 
    21, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv8i16), 0,
                   MVT::v8i16, 5, 2, 0, 3, 4, 5, 
    21, MVT::v4i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv4i32), 0,
                   MVT::v4i32, 5, 2, 0, 3, 4, 5, 
    21, MVT::v2i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSRAuv2i64), 0,
                   MVT::v2i64, 5, 2, 0, 3, 4, 5, 
    0,
   67|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 , 21, MVT::v8i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv8i8), 0,
                   MVT::v8i8, 5, 2, 0, 3, 4, 5, 
    21, MVT::v4i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv4i16), 0,
                   MVT::v4i16, 5, 2, 0, 3, 4, 5, 
    21, MVT::v2i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv2i32), 0,
                   MVT::v2i32, 5, 2, 0, 3, 4, 5, 
    21, MVT::v1i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv1i64), 0,
                   MVT::v1i64, 5, 2, 0, 3, 4, 5, 
    21, MVT::v16i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv16i8), 0,
                   MVT::v16i8, 5, 2, 0, 3, 4, 5, 
    21, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv8i16), 0,
                   MVT::v8i16, 5, 2, 0, 3, 4, 5, 
    21, MVT::v4i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv4i32), 0,
                   MVT::v4i32, 5, 2, 0, 3, 4, 5, 
    21, MVT::v2i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAsv2i64), 0,
                   MVT::v2i64, 5, 2, 0, 3, 4, 5, 
    0,
   67|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 , 21, MVT::v8i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv8i8), 0,
                   MVT::v8i8, 5, 2, 0, 3, 4, 5, 
    21, MVT::v4i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv4i16), 0,
                   MVT::v4i16, 5, 2, 0, 3, 4, 5, 
    21, MVT::v2i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv2i32), 0,
                   MVT::v2i32, 5, 2, 0, 3, 4, 5, 
    21, MVT::v1i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv1i64), 0,
                   MVT::v1i64, 5, 2, 0, 3, 4, 5, 
    21, MVT::v16i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv16i8), 0,
                   MVT::v16i8, 5, 2, 0, 3, 4, 5, 
    21, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv8i16), 0,
                   MVT::v8i16, 5, 2, 0, 3, 4, 5, 
    21, MVT::v4i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv4i32), 0,
                   MVT::v4i32, 5, 2, 0, 3, 4, 5, 
    21, MVT::v2i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSRAuv2i64), 0,
                   MVT::v2i64, 5, 2, 0, 3, 4, 5, 
    0,
   36, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::i32,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLAS_qr_i8), 0,
                  MVT::v16i8, 6, 1, 2, 0, 3, 4, 5, 
   0,
  79, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_Scope, 35, 
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLA_qr_i8), 0,
                  MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
   35, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLA_qr_i8), 0,
                  MVT::v16i8, 6, 0, 2, 1, 3, 4, 5, 
   0, 
  40, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::i32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLA_qr_i16), 0,
                 MVT::v8i16, 6, 2, 1, 0, 3, 4, 5, 
  79, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_Scope, 35, 
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLA_qr_i16), 0,
                  MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
   35, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLA_qr_i16), 0,
                  MVT::v8i16, 6, 0, 2, 1, 3, 4, 5, 
   0, 
  40, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::i32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLA_qr_i32), 0,
                 MVT::v4i32, 6, 2, 1, 0, 3, 4, 5, 
  79, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_Scope, 35, 
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLA_qr_i32), 0,
                  MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
   35, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLA_qr_i32), 0,
                  MVT::v4i32, 6, 0, 2, 1, 3, 4, 5, 
   0, 
  67, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::i32,
   OPC_MoveParent,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_SwitchType , 23, MVT::v8i16,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLAS_qr_i16), 0,
                  MVT::v8i16, 6, 1, 2, 0, 3, 4, 5, 
   23, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLAS_qr_i32), 0,
                  MVT::v4i32, 6, 1, 2, 0, 3, 4, 5, 
   0,
  3|128,5, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 75, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 23, 
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWsv8i16), 0,
                   MVT::v8i16, 4, 0, 1, 2, 3, 
    23, 
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWsv4i32), 0,
                   MVT::v4i32, 4, 0, 1, 2, 3, 
    23, 
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWsv2i64), 0,
                   MVT::v2i64, 4, 0, 1, 2, 3, 
    0, 
   75, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 23, 
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWuv8i16), 0,
                   MVT::v8i16, 4, 0, 1, 2, 3, 
    23, 
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWuv4i32), 0,
                   MVT::v4i32, 4, 0, 1, 2, 3, 
    23, 
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWuv2i64), 0,
                   MVT::v2i64, 4, 0, 1, 2, 3, 
    0, 
   75, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 23, 
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWuv8i16), 0,
                   MVT::v8i16, 4, 0, 1, 2, 3, 
    23, 
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWuv4i32), 0,
                   MVT::v4i32, 4, 0, 1, 2, 3, 
    23, 
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWuv2i64), 0,
                   MVT::v2i64, 4, 0, 1, 2, 3, 
    0, 
   3|128,1, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_SwitchType , 19, MVT::v8i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv8i8), 0,
                   MVT::v8i8, 5, 0, 1, 2, 3, 4, 
    19, MVT::v4i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv4i16), 0,
                   MVT::v4i16, 5, 0, 1, 2, 3, 4, 
    19, MVT::v2i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv2i32), 0,
                   MVT::v2i32, 5, 0, 1, 2, 3, 4, 
    19, MVT::v16i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv16i8), 0,
                   MVT::v16i8, 5, 0, 1, 2, 3, 4, 
    19, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv8i16), 0,
                   MVT::v8i16, 5, 0, 1, 2, 3, 4, 
    19, MVT::v4i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv4i32), 0,
                   MVT::v4i32, 5, 0, 1, 2, 3, 4, 
    0,
   81, TARGET_VAL(ARMISD::VMULLs),
    OPC_RecordChild0,
    OPC_Scope, 25, 
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsv8i16), 0,
                   MVT::v8i16, 5, 0, 1, 2, 3, 4, 
    25, 
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsv4i32), 0,
                   MVT::v4i32, 5, 0, 1, 2, 3, 4, 
    25, 
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsv2i64), 0,
                   MVT::v2i64, 5, 0, 1, 2, 3, 4, 
    0, 
   81, TARGET_VAL(ARMISD::VMULLu),
    OPC_RecordChild0,
    OPC_Scope, 25, 
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALuv8i16), 0,
                   MVT::v8i16, 5, 0, 1, 2, 3, 4, 
    25, 
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALuv4i32), 0,
                   MVT::v4i32, 5, 0, 1, 2, 3, 4, 
    25, 
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALuv2i64), 0,
                   MVT::v2i64, 5, 0, 1, 2, 3, 4, 
    0, 
   99, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::i32,
    OPC_MoveParent,
    OPC_SwitchType , 29, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADD_qr_i8), 0,
                   MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
    29, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADD_qr_i16), 0,
                   MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
    29, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADD_qr_i32), 0,
                   MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
    0,
   0,
  19|128,5, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 78, TARGET_VAL(ISD::SIGN_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 24, 
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWsv8i16), 0,
                   MVT::v8i16, 4, 1, 0, 2, 3, 
    24, 
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWsv4i32), 0,
                   MVT::v4i32, 4, 1, 0, 2, 3, 
    24, 
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWsv2i64), 0,
                   MVT::v2i64, 4, 1, 0, 2, 3, 
    0, 
   78, TARGET_VAL(ISD::ZERO_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 24, 
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWuv8i16), 0,
                   MVT::v8i16, 4, 1, 0, 2, 3, 
    24, 
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWuv4i32), 0,
                   MVT::v4i32, 4, 1, 0, 2, 3, 
    24, 
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWuv2i64), 0,
                   MVT::v2i64, 4, 1, 0, 2, 3, 
    0, 
   78, TARGET_VAL(ISD::ANY_EXTEND),
    OPC_RecordChild0,
    OPC_Scope, 24, 
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWuv8i16), 0,
                   MVT::v8i16, 4, 1, 0, 2, 3, 
    24, 
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWuv4i32), 0,
                   MVT::v4i32, 4, 1, 0, 2, 3, 
    24, 
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDWuv2i64), 0,
                   MVT::v2i64, 4, 1, 0, 2, 3, 
    0, 
   4|128,1, TARGET_VAL(ISD::MUL),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 19, MVT::v8i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv8i8), 0,
                   MVT::v8i8, 5, 2, 0, 1, 3, 4, 
    19, MVT::v4i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv4i16), 0,
                   MVT::v4i16, 5, 2, 0, 1, 3, 4, 
    19, MVT::v2i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv2i32), 0,
                   MVT::v2i32, 5, 2, 0, 1, 3, 4, 
    19, MVT::v16i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv16i8), 0,
                   MVT::v16i8, 5, 2, 0, 1, 3, 4, 
    19, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv8i16), 0,
                   MVT::v8i16, 5, 2, 0, 1, 3, 4, 
    19, MVT::v4i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLAv4i32), 0,
                   MVT::v4i32, 5, 2, 0, 1, 3, 4, 
    0,
   84, TARGET_VAL(ARMISD::VMULLs),
    OPC_RecordChild0,
    OPC_Scope, 26, 
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsv8i16), 0,
                   MVT::v8i16, 5, 2, 0, 1, 3, 4, 
    26, 
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsv4i32), 0,
                   MVT::v4i32, 5, 2, 0, 1, 3, 4, 
    26, 
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALsv2i64), 0,
                   MVT::v2i64, 5, 2, 0, 1, 3, 4, 
    0, 
   84, TARGET_VAL(ARMISD::VMULLu),
    OPC_RecordChild0,
    OPC_Scope, 26, 
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALuv8i16), 0,
                   MVT::v8i16, 5, 2, 0, 1, 3, 4, 
    26, 
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALuv4i32), 0,
                   MVT::v4i32, 5, 2, 0, 1, 3, 4, 
    26, 
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMLALuv2i64), 0,
                   MVT::v2i64, 5, 2, 0, 1, 3, 4, 
    0, 
   100, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_SwitchType , 29, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADD_qr_i8), 0,
                   MVT::v16i8, 6, 1, 0, 2, 3, 4, 5, 
    29, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADD_qr_i16), 0,
                   MVT::v8i16, 6, 1, 0, 2, 3, 4, 5, 
    29, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADD_qr_i32), 0,
                   MVT::v4i32, 6, 1, 0, 2, 3, 4, 5, 
    0,
   0,
  7|128,2, 
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_SwitchType , 18, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDv8i8), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   18, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDv4i16), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   18, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDv2i32), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   51, MVT::v16i8,
    OPC_Scope, 18, 
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDv16i8), 0,
                   MVT::v16i8, 4, 0, 1, 2, 3, 
    29, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDi8), 0,
                   MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   51, MVT::v8i16,
    OPC_Scope, 18, 
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDv8i16), 0,
                   MVT::v8i16, 4, 0, 1, 2, 3, 
    29, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDi16), 0,
                   MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   51, MVT::v4i32,
    OPC_Scope, 18, 
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDv4i32), 0,
                   MVT::v4i32, 4, 0, 1, 2, 3, 
    29, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDi32), 0,
                   MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   18, MVT::v1i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDv1i64), 0,
                  MVT::v1i64, 4, 0, 1, 2, 3, 
   18, MVT::v2i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VADDv2i64), 0,
                  MVT::v2i64, 4, 0, 1, 2, 3, 
   0,
  0, 
 63|128,98, TARGET_VAL(ISD::AND),
  OPC_Scope, 63, 
   OPC_CheckAndImm, 127|128,1|128,124|128,7, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SRL),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 16, 
   OPC_CheckChild1Type, MVT::i32,
   OPC_MoveParent,
   OPC_CheckType, MVT::i32,
   OPC_Scope, 21, 
    OPC_CheckPatternPredicate, 0,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTB16), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   21, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTB16), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  44, 
   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, 13,
   OPC_CheckType, MVT::i32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 0,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitNodeXForm, 2, 2,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTB), 0,
                 MVT::i32, 4, 0, 3, 4, 5, 
  45, 
   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, 13,
   OPC_CheckType, MVT::i32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 0,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitNodeXForm, 2, 2,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTH), 0,
                 MVT::i32, 4, 0, 3, 4, 5, 
  46, 
   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, 13,
   OPC_CheckType, MVT::i32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 0,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitNodeXForm, 2, 2,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTB16), 0,
                 MVT::i32, 4, 0, 3, 4, 5, 
  44, 
   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, 13,
   OPC_CheckType, MVT::i32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 2,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitNodeXForm, 2, 2,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTB), 0,
                 MVT::i32, 4, 0, 3, 4, 5, 
  45, 
   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, 13,
   OPC_CheckType, MVT::i32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 2,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitNodeXForm, 2, 2,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTH), 0,
                 MVT::i32, 4, 0, 3, 4, 5, 
  46, 
   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, 13,
   OPC_CheckType, MVT::i32,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 2,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitNodeXForm, 2, 2,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTB16), 0,
                 MVT::i32, 4, 0, 3, 4, 5, 
  37, 
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckPredicate, 23,
   OPC_MoveParent,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::CSINC),
   OPC_CaptureGlueInput,
   OPC_CheckChild0Integer, 0, 
   OPC_CheckChild1Integer, 0, 
   OPC_RecordChild2,
   OPC_CheckPredicate, 24,
   OPC_MoveParent,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 15,
   OPC_CheckComplexPat, /*CP*/4, /*#*/1,
   OPC_EmitRegister, MVT::i32, ARM::ZR,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CSEL), 0|OPFL_GlueInput,
                 MVT::i32, 3, 4, 0, 2, 
  37, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::CSINC),
   OPC_CaptureGlueInput,
   OPC_CheckChild0Integer, 0, 
   OPC_CheckChild1Integer, 0, 
   OPC_RecordChild2,
   OPC_CheckPredicate, 24,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckPredicate, 23,
   OPC_MoveParent,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 15,
   OPC_CheckComplexPat, /*CP*/4, /*#*/0,
   OPC_EmitRegister, MVT::i32, ARM::ZR,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CSEL), 0|OPFL_GlueInput,
                 MVT::i32, 3, 4, 1, 2, 
  27, 
   OPC_CheckAndImm, 127|128,1, 
   OPC_RecordChild0,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 0,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTB), 0,
                 MVT::i32, 4, 0, 1, 2, 3, 
  28, 
   OPC_CheckAndImm, 127|128,127|128,3, 
   OPC_RecordChild0,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 0,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTH), 0,
                 MVT::i32, 4, 0, 1, 2, 3, 
  29, 
   OPC_CheckAndImm, 127|128,1|128,124|128,7, 
   OPC_RecordChild0,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 0,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTB16), 0,
                 MVT::i32, 4, 0, 1, 2, 3, 
  27, 
   OPC_CheckAndImm, 127|128,1, 
   OPC_RecordChild0,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 1,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTB), 0,
                 MVT::i32, 4, 0, 1, 2, 3, 
  28, 
   OPC_CheckAndImm, 127|128,127|128,3, 
   OPC_RecordChild0,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 1,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTH), 0,
                 MVT::i32, 4, 0, 1, 2, 3, 
  29, 
   OPC_CheckAndImm, 127|128,1|128,124|128,7, 
   OPC_RecordChild0,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 2,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTB16), 0,
                 MVT::i32, 4, 0, 1, 2, 3, 
  38, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 3, 
   OPC_MoveParent,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 4,
   OPC_CheckComplexPat, /*CP*/1, /*#*/1,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::BICrsr), 0,
                 MVT::i32, 7, 0, 2, 3, 4, 5, 6, 7, 
  39, 
   OPC_CheckAndImm, 127|128,1, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_CheckChild1Integer, 86|128,36, 
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::i32,
   OPC_CheckPredicate, 25,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 5,
   OPC_CheckComplexPat, /*CP*/5, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDREXB), 0|OPFL_Chain,
                 MVT::i32, 3, 2, 3, 4, 
  40, 
   OPC_CheckAndImm, 127|128,127|128,3, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_CheckChild1Integer, 86|128,36, 
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::i32,
   OPC_CheckPredicate, 26,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 5,
   OPC_CheckComplexPat, /*CP*/5, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDREXH), 0|OPFL_Chain,
                 MVT::i32, 3, 2, 3, 4, 
  39, 
   OPC_CheckAndImm, 127|128,1, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_CheckChild1Integer, 74|128,36, 
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::i32,
   OPC_CheckPredicate, 25,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 16,
   OPC_CheckComplexPat, /*CP*/5, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDAEXB), 0|OPFL_Chain,
                 MVT::i32, 3, 2, 3, 4, 
  40, 
   OPC_CheckAndImm, 127|128,127|128,3, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
   OPC_RecordNode,
   OPC_CheckFoldableChainNode,
   OPC_CheckChild1Integer, 74|128,36, 
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::i32,
   OPC_CheckPredicate, 26,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 16,
   OPC_CheckComplexPat, /*CP*/5, /*#*/1,
   OPC_EmitMergeInputChains1_0,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDAEXH), 0|OPFL_Chain,
                 MVT::i32, 3, 2, 3, 4, 
  38, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 3, 
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 4,
   OPC_CheckComplexPat, /*CP*/1, /*#*/0,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::BICrsr), 0,
                 MVT::i32, 7, 1, 2, 3, 4, 5, 6, 7, 
  67, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 3, 
   OPC_MoveParent,
   OPC_CheckType, MVT::i32,
   OPC_Scope, 26, 
    OPC_CheckPatternPredicate, 4,
    OPC_CheckComplexPat, /*CP*/3, /*#*/1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::BICrsi), 0,
                  MVT::i32, 6, 0, 2, 3, 4, 5, 6, 
   26, 
    OPC_CheckPatternPredicate, 1,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICrs), 0,
                  MVT::i32, 6, 0, 2, 3, 4, 5, 6, 
   0, 
  67, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 3, 
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::i32,
   OPC_Scope, 26, 
    OPC_CheckPatternPredicate, 4,
    OPC_CheckComplexPat, /*CP*/3, /*#*/0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::BICrsi), 0,
                  MVT::i32, 6, 1, 2, 3, 4, 5, 6, 
   26, 
    OPC_CheckPatternPredicate, 1,
    OPC_CheckComplexPat, /*CP*/0, /*#*/0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICrs), 0,
                  MVT::i32, 6, 1, 2, 3, 4, 5, 6, 
   0, 
  57|128,1, 
   OPC_RecordChild0,
   OPC_Scope, 30, 
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 4,
    OPC_CheckComplexPat, /*CP*/1, /*#*/1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::ANDrsr), 0,
                  MVT::i32, 7, 0, 2, 3, 4, 5, 6, 7, 
   77, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 32, 
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 3, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::BICri), 0,
                   MVT::i32, 5, 0, 2, 3, 4, 5, 
    32, 
     OPC_CheckPredicate, 6,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 3, 
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 1,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICri), 0,
                   MVT::i32, 5, 0, 2, 3, 4, 5, 
    0, 
   30, 
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 4,
    OPC_CheckComplexPat, /*CP*/1, /*#*/0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::ANDrsr), 0,
                  MVT::i32, 7, 1, 2, 3, 4, 5, 6, 7, 
   41, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_CheckChild0Integer, 3, 
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 4,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::BICri), 0,
                  MVT::i32, 5, 0, 2, 3, 4, 5, 
   0, 
  84, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 38, 
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 3, 
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 4,
    OPC_EmitConvertToTarget, 0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::BICri), 0,
                  MVT::i32, 5, 1, 2, 3, 4, 5, 
   38, 
    OPC_CheckChild0Integer, 3, 
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 11,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 4,
    OPC_EmitConvertToTarget, 0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::BICri), 0,
                  MVT::i32, 5, 1, 2, 3, 4, 5, 
   0, 
  42, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_CheckChild0Integer, 3, 
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 6,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 1,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICri), 0,
                 MVT::i32, 5, 0, 2, 3, 4, 5, 
  84, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 38, 
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 6,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 3, 
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 1,
    OPC_EmitConvertToTarget, 0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICri), 0,
                  MVT::i32, 5, 1, 2, 3, 4, 5, 
   38, 
    OPC_CheckChild0Integer, 3, 
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 6,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 1,
    OPC_EmitConvertToTarget, 0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICri), 0,
                  MVT::i32, 5, 1, 2, 3, 4, 5, 
   0, 
  71|128,1, 
   OPC_RecordChild0,
   OPC_Scope, 113, 
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 26, 
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/3, /*#*/1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::ANDrsi), 0,
                   MVT::i32, 6, 0, 2, 3, 4, 5, 6, 
    26, 
     OPC_CheckPatternPredicate, 1,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ANDrs), 0,
                   MVT::i32, 6, 0, 2, 3, 4, 5, 6, 
    26, 
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/3, /*#*/0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::ANDrsi), 0,
                   MVT::i32, 6, 1, 2, 3, 4, 5, 6, 
    26, 
     OPC_CheckPatternPredicate, 1,
     OPC_CheckComplexPat, /*CP*/0, /*#*/0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ANDrs), 0,
                   MVT::i32, 6, 1, 2, 3, 4, 5, 6, 
    0, 
   81, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_CheckChild1Integer, 3, 
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 22, 
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::BICrr), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    22, 
     OPC_CheckPatternPredicate, 6,
     OPC_EmitRegister, MVT::i32, ARM::CPSR,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tBIC), 0,
                   MVT::i32, 5, 2, 0, 1, 3, 4, 
    22, 
     OPC_CheckPatternPredicate, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICrr), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    0, 
   0, 
  82, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 3, 
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_CheckType, MVT::i32,
   OPC_Scope, 22, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::BICrr), 0,
                  MVT::i32, 5, 1, 0, 2, 3, 4, 
   22, 
    OPC_CheckPatternPredicate, 6,
    OPC_EmitRegister, MVT::i32, ARM::CPSR,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::tBIC), 0,
                  MVT::i32, 5, 2, 1, 0, 3, 4, 
   22, 
    OPC_CheckPatternPredicate, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICrr), 0,
                  MVT::i32, 5, 1, 0, 2, 3, 4, 
   0, 
  38, 
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 27,
   OPC_MoveParent,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 4,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitNodeXForm, 9, 2,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::BICri), 0,
                 MVT::i32, 5, 0, 3, 4, 5, 6, 
  23, 
   OPC_CheckAndImm, 127|128,1, 
   OPC_RecordChild0,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::tUXTB), 0,
                 MVT::i32, 3, 0, 1, 2, 
  24, 
   OPC_CheckAndImm, 127|128,127|128,3, 
   OPC_RecordChild0,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 17,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::tUXTH), 0,
                 MVT::i32, 3, 0, 1, 2, 
  25|128,2, 
   OPC_RecordChild0,
   OPC_Scope, 37, 
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 12,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 1,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitNodeXForm, 1, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICri), 0,
                  MVT::i32, 5, 0, 3, 4, 5, 6, 
   41, 
    OPC_MoveChild0,
    OPC_CheckPredicate, 28,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 29,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 1,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitNodeXForm, 10, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BICri), 0,
                  MVT::i32, 5, 0, 3, 4, 5, 6, 
   68|128,1, 
    OPC_RecordChild1,
    OPC_Scope, 118, 
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 29, 
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 4,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::ANDri), 0,
                    MVT::i32, 5, 0, 2, 3, 4, 5, 
     25, 
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 3,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::BFC), 0,
                    MVT::i32, 4, 0, 2, 3, 4, 
     29, 
      OPC_CheckPredicate, 6,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 1,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ANDri), 0,
                    MVT::i32, 5, 0, 2, 3, 4, 5, 
     25, 
      OPC_CheckPredicate, 30,
      OPC_MoveParent,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 1,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2BFC), 0,
                    MVT::i32, 4, 0, 2, 3, 4, 
     0, 
    73, 
     OPC_CheckType, MVT::i32,
     OPC_Scope, 22, 
      OPC_CheckPatternPredicate, 4,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::ANDrr), 0,
                    MVT::i32, 5, 0, 1, 2, 3, 4, 
     22, 
      OPC_CheckPatternPredicate, 6,
      OPC_EmitRegister, MVT::i32, ARM::CPSR,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tAND), 0,
                    MVT::i32, 5, 2, 0, 1, 3, 4, 
     22, 
      OPC_CheckPatternPredicate, 1,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2ANDrr), 0,
                    MVT::i32, 5, 0, 1, 2, 3, 4, 
     0, 
    0, 
   0, 
  77|128,1, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 49, TARGET_VAL(ARMISD::VECTOR_REG_CAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
    OPC_RecordChild0,
    OPC_CheckType, MVT::v8i16,
    OPC_MoveParent,
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,51, 
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMOVLu16th), 0,
                  MVT::v4i32, 5, 0, 1, 2, 3, 4, 
   49, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VREV32),
    OPC_RecordChild0,
    OPC_CheckType, MVT::v8i16,
    OPC_MoveParent,
    OPC_CheckPredicate, 31,
    OPC_MoveParent,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,51, 
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMOVLu16th), 0,
                  MVT::v4i32, 5, 0, 1, 2, 3, 4, 
   95, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,51, 
    OPC_MoveParent,
    OPC_MoveChild1,
    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_CheckPredicate, 31,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMOVLu16th), 0,
                   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_CheckPredicate, 31,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMOVLu16th), 0,
                   MVT::v4i32, 5, 0, 1, 2, 3, 4, 
    0,
   0,
  4|128,3, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 34|128,2, TARGET_VAL(ISD::XOR),
    OPC_Scope, 120|128,1, 
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_SwitchType , 65, MVT::v8i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 18, MVT::v2i32,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICd), 0,
                     MVT::v2i32, 4, 0, 1, 2, 3, 
      18, MVT::v4i16,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICd), 0,
                     MVT::v4i16, 4, 0, 1, 2, 3, 
      18, MVT::v1i64,
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICd), 0,
                     MVT::v1i64, 4, 0, 1, 2, 3, 
      0,
     36|128,1, MVT::v16i8,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_MoveParent,
      OPC_SwitchType , 51, MVT::v4i32,
       OPC_Scope, 18, 
        OPC_CheckPatternPredicate, 7,
        OPC_EmitInteger, MVT::i32, 28, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICq), 0,
                      MVT::v4i32, 4, 0, 1, 2, 3, 
       29, 
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::v4i32, 0, 
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBIC), 0,
                      MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
       0, 
      51, MVT::v8i16,
       OPC_Scope, 18, 
        OPC_CheckPatternPredicate, 7,
        OPC_EmitInteger, MVT::i32, 28, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICq), 0,
                      MVT::v8i16, 4, 0, 1, 2, 3, 
       29, 
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::v4i32, 0, 
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBIC), 0,
                      MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
       0, 
      51, MVT::v2i64,
       OPC_Scope, 18, 
        OPC_CheckPatternPredicate, 7,
        OPC_EmitInteger, MVT::i32, 28, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICq), 0,
                      MVT::v2i64, 4, 0, 1, 2, 3, 
       29, 
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::v4i32, 0, 
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBIC), 0,
                      MVT::v2i64, 6, 0, 1, 2, 3, 4, 5, 
       0, 
      0,
     0,
    37, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_CheckType, MVT::v8i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICd), 0,
                   MVT::v2i32, 4, 0, 1, 2, 3, 
    0, 
   87, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_Scope, 41, 
     OPC_CheckChild0Type, MVT::v8i1,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VAND), 0,
                   MVT::v8i16, 6, 0, 2, 3, 1, 4, 0, 
    41, 
     OPC_CheckChild0Type, MVT::v4i1,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VAND), 0,
                   MVT::v4i32, 6, 0, 2, 3, 1, 4, 0, 
    0, 
   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, 126|128,59, 
    OPC_CheckType, MVT::v8i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICd), 0,
                  MVT::v2i32, 4, 1, 0, 2, 3, 
   38, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_CheckType, MVT::v8i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICd), 0,
                  MVT::v2i32, 4, 1, 0, 2, 3, 
   0, 
  42, 
   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, 126|128,59, 
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 7,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICq), 0,
                 MVT::v4i32, 4, 0, 1, 2, 3, 
  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, 126|128,59, 
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICq), 0,
                  MVT::v4i32, 4, 1, 0, 2, 3, 
   38, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICq), 0,
                  MVT::v4i32, 4, 1, 0, 2, 3, 
   0, 
  42, 
   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, 126|128,59, 
   OPC_CheckType, MVT::v8i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i16,
   OPC_CheckPatternPredicate, 7,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICd), 0,
                 MVT::v4i16, 4, 0, 1, 2, 3, 
  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, 126|128,59, 
    OPC_CheckType, MVT::v8i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICd), 0,
                  MVT::v4i16, 4, 1, 0, 2, 3, 
   38, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_CheckType, MVT::v8i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICd), 0,
                  MVT::v4i16, 4, 1, 0, 2, 3, 
   0, 
  42, 
   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, 126|128,59, 
   OPC_CheckType, MVT::v8i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v1i64,
   OPC_CheckPatternPredicate, 7,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICd), 0,
                 MVT::v1i64, 4, 0, 1, 2, 3, 
  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, 126|128,59, 
    OPC_CheckType, MVT::v8i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v1i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICd), 0,
                  MVT::v1i64, 4, 1, 0, 2, 3, 
   38, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_CheckType, MVT::v8i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v1i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICd), 0,
                  MVT::v1i64, 4, 1, 0, 2, 3, 
   0, 
  42, 
   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, 126|128,59, 
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate, 7,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICq), 0,
                 MVT::v8i16, 4, 0, 1, 2, 3, 
  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, 126|128,59, 
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICq), 0,
                  MVT::v8i16, 4, 1, 0, 2, 3, 
   38, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICq), 0,
                  MVT::v8i16, 4, 1, 0, 2, 3, 
   0, 
  42, 
   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, 126|128,59, 
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate, 7,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICq), 0,
                 MVT::v2i64, 4, 0, 1, 2, 3, 
  50|128,1, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 80, 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, 126|128,59, 
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICq), 0,
                   MVT::v2i64, 4, 1, 0, 2, 3, 
    38, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v2i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICq), 0,
                   MVT::v2i64, 4, 1, 0, 2, 3, 
    0, 
   89, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_Scope, 42, 
     OPC_CheckChild0Type, MVT::v8i1,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VAND), 0,
                   MVT::v8i16, 6, 2, 1, 3, 0, 4, 2, 
    42, 
     OPC_CheckChild0Type, MVT::v4i1,
     OPC_RecordChild1,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VAND), 0,
                   MVT::v4i32, 6, 2, 1, 3, 0, 4, 2, 
    0, 
   0,
  53, 
   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, 126|128,59, 
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v8i16,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::v4i32, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBIC), 0,
                 MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
  106, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 49, 
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBIC), 0,
                  MVT::v8i16, 6, 1, 0, 2, 3, 4, 5, 
   49, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBIC), 0,
                  MVT::v8i16, 6, 1, 0, 2, 3, 4, 5, 
   0, 
  53, 
   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, 126|128,59, 
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::v4i32, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBIC), 0,
                 MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
  106, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 49, 
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBIC), 0,
                  MVT::v4i32, 6, 1, 0, 2, 3, 4, 5, 
   49, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBIC), 0,
                  MVT::v4i32, 6, 1, 0, 2, 3, 4, 5, 
   0, 
  53, 
   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, 126|128,59, 
   OPC_CheckType, MVT::v16i8,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v2i64,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::v4i32, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBIC), 0,
                 MVT::v2i64, 6, 0, 1, 2, 3, 4, 5, 
  106, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_Scope, 49, 
    OPC_RecordChild0,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBIC), 0,
                  MVT::v2i64, 6, 1, 0, 2, 3, 4, 5, 
   49, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_CheckType, MVT::v16i8,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBIC), 0,
                  MVT::v2i64, 6, 1, 0, 2, 3, 4, 5, 
   0, 
  77|128,10, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 119, TARGET_VAL(ISD::XOR),
    OPC_Scope, 85, 
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_SwitchType , 18, MVT::v8i8,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICd), 0,
                    MVT::v8i8, 4, 0, 1, 2, 3, 
     51, MVT::v16i8,
      OPC_Scope, 18, 
       OPC_CheckPatternPredicate, 7,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICq), 0,
                     MVT::v16i8, 4, 0, 1, 2, 3, 
      29, 
       OPC_CheckPatternPredicate, 8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBIC), 0,
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     0,
    30, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICd), 0,
                   MVT::v8i8, 4, 0, 1, 2, 3, 
    0, 
   35, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VAND), 0,
                  MVT::v16i8, 6, 0, 2, 3, 1, 4, 0, 
   37|128,9, TARGET_VAL(ARMISD::VCMP),
    OPC_RecordChild0,
    OPC_Scope, 4|128,2, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_MoveParent,
     OPC_Scope, 30, 
      OPC_CheckChild2Integer, 0, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi8r), 0,
                    MVT::v16i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 2, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi8r), 0,
                    MVT::v16i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 20, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs8r), 0,
                    MVT::v16i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 22, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs8r), 0,
                    MVT::v16i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 24, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs8r), 0,
                    MVT::v16i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 26, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs8r), 0,
                    MVT::v16i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 16, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu8r), 0,
                    MVT::v16i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 4, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu8r), 0,
                    MVT::v16i1, 6, 1, 2, 3, 4, 0, 5, 
     0, 
    4|128,2, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_MoveParent,
     OPC_Scope, 30, 
      OPC_CheckChild2Integer, 0, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 2, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 20, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 22, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 24, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 26, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 16, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 4, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     0, 
    4|128,2, 
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_MoveParent,
     OPC_Scope, 30, 
      OPC_CheckChild2Integer, 0, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 2, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 20, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 22, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 24, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 26, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 16, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 4, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     0, 
    70|128,1, 
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_MoveParent,
     OPC_Scope, 30, 
      OPC_CheckChild2Integer, 0, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 2, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 20, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 22, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 24, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 26, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     0, 
    70|128,1, 
     OPC_CheckChild0Type, MVT::v4f32,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_MoveParent,
     OPC_Scope, 30, 
      OPC_CheckChild2Integer, 0, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 2, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 20, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 22, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 24, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 26, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     0, 
    0, 
   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, 126|128,59, 
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICd), 0,
                  MVT::v8i8, 4, 1, 0, 2, 3, 
   31, 
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICd), 0,
                  MVT::v8i8, 4, 1, 0, 2, 3, 
   0, 
  35, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 126|128,59, 
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate, 7,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICq), 0,
                 MVT::v16i8, 4, 0, 1, 2, 3, 
  111, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 66, TARGET_VAL(ISD::XOR),
    OPC_Scope, 31, 
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICq), 0,
                   MVT::v16i8, 4, 1, 0, 2, 3, 
    31, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VBICq), 0,
                   MVT::v16i8, 4, 1, 0, 2, 3, 
    0, 
   36, TARGET_VAL(ISD::VSELECT),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::v16i1,
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,59, 
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VAND), 0,
                  MVT::v16i8, 6, 2, 1, 3, 0, 4, 2, 
   0,
  46, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
   OPC_CheckChild0Integer, 126|128,59, 
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckType, MVT::v16i8,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::v4i32, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBIC), 0,
                 MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
  43|128,10, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 88, TARGET_VAL(ISD::XOR),
    OPC_Scope, 42, 
     OPC_RecordChild0,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBIC), 0,
                   MVT::v16i8, 6, 1, 0, 2, 3, 4, 5, 
    42, 
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VMOVIMM),
     OPC_CheckChild0Integer, 126|128,59, 
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBIC), 0,
                   MVT::v16i8, 6, 1, 0, 2, 3, 4, 5, 
    0, 
   73|128,9, TARGET_VAL(ARMISD::VCMP),
    OPC_RecordChild0,
    OPC_Scope, 12|128,2, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_MoveParent,
     OPC_Scope, 31, 
      OPC_CheckChild2Integer, 0, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi8r), 0,
                    MVT::v16i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 2, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi8r), 0,
                    MVT::v16i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 20, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs8r), 0,
                    MVT::v16i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 22, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs8r), 0,
                    MVT::v16i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 24, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs8r), 0,
                    MVT::v16i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 26, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs8r), 0,
                    MVT::v16i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 16, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu8r), 0,
                    MVT::v16i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 4, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu8r), 0,
                    MVT::v16i1, 6, 0, 1, 3, 4, 2, 5, 
     0, 
    12|128,2, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_MoveParent,
     OPC_Scope, 31, 
      OPC_CheckChild2Integer, 0, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi16r), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 2, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi16r), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 20, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs16r), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 22, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs16r), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 24, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs16r), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 26, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs16r), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 16, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu16r), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 4, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu16r), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     0, 
    12|128,2, 
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_MoveParent,
     OPC_Scope, 31, 
      OPC_CheckChild2Integer, 0, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi32r), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 2, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi32r), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 20, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs32r), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 22, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs32r), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 24, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs32r), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 26, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs32r), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 16, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu32r), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 4, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu32r), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     0, 
    76|128,1, 
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_MoveParent,
     OPC_Scope, 31, 
      OPC_CheckChild2Integer, 0, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16r), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 2, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16r), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 20, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16r), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 22, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16r), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 24, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16r), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 26, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16r), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     0, 
    76|128,1, 
     OPC_CheckChild0Type, MVT::v4f32,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_MoveParent,
     OPC_Scope, 31, 
      OPC_CheckChild2Integer, 0, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32r), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 2, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32r), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 20, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32r), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 22, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32r), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 24, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32r), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 26, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32r), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     0, 
    0, 
   0,
  28|128,19, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_SwitchOpcode , 34, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,51, 
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMOVLu16bh), 0,
                  MVT::v4i32, 5, 0, 1, 2, 3, 4, 
   105|128,9, TARGET_VAL(ARMISD::VCMPZ),
    OPC_RecordChild0,
    OPC_Scope, 20|128,2, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 33, 
      OPC_CheckChild1Integer, 0, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi8r), 0,
                    MVT::v16i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 2, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi8r), 0,
                    MVT::v16i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 20, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs8r), 0,
                    MVT::v16i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 22, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs8r), 0,
                    MVT::v16i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 24, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs8r), 0,
                    MVT::v16i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 26, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs8r), 0,
                    MVT::v16i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 16, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu8r), 0,
                    MVT::v16i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 4, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu8r), 0,
                    MVT::v16i1, 6, 1, 2, 3, 4, 0, 5, 
     0, 
    20|128,2, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_Scope, 33, 
      OPC_CheckChild1Integer, 0, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 2, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 20, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 22, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 24, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 26, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 16, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 4, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     0, 
    20|128,2, 
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_Scope, 33, 
      OPC_CheckChild1Integer, 0, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 2, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 20, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 22, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 24, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 26, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 16, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 4, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     0, 
    80|128,1, 
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_Scope, 33, 
      OPC_CheckChild1Integer, 0, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 2, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 20, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 22, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 24, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 26, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16r), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     0, 
    80|128,1, 
     OPC_CheckChild0Type, MVT::v4f32,
     OPC_Scope, 33, 
      OPC_CheckChild1Integer, 0, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 2, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 20, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 22, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 24, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     33, 
      OPC_CheckChild1Integer, 26, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32r), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     0, 
    0, 
   2|128,9, TARGET_VAL(ARMISD::VCMP),
    OPC_RecordChild0,
    OPC_Scope, 125|128,1, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_RecordChild1,
     OPC_Scope, 30, 
      OPC_CheckChild2Integer, 0, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi8), 0,
                    MVT::v16i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 2, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi8), 0,
                    MVT::v16i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 20, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs8), 0,
                    MVT::v16i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 22, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs8), 0,
                    MVT::v16i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 24, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs8), 0,
                    MVT::v16i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 26, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs8), 0,
                    MVT::v16i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 16, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu8), 0,
                    MVT::v16i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 4, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu8), 0,
                    MVT::v16i1, 6, 1, 2, 3, 4, 0, 5, 
     0, 
    125|128,1, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_Scope, 30, 
      OPC_CheckChild2Integer, 0, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi16), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 2, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi16), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 20, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs16), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 22, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs16), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 24, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs16), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 26, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs16), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 16, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu16), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 4, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu16), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     0, 
    125|128,1, 
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_Scope, 30, 
      OPC_CheckChild2Integer, 0, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi32), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 2, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi32), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 20, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs32), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 22, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs32), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 24, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs32), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 26, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs32), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 16, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu32), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 4, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu32), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     0, 
    63|128,1, 
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_Scope, 30, 
      OPC_CheckChild2Integer, 0, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 2, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 20, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 22, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 24, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 26, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16), 0,
                    MVT::v8i1, 6, 1, 2, 3, 4, 0, 5, 
     0, 
    63|128,1, 
     OPC_CheckChild0Type, MVT::v4f32,
     OPC_RecordChild1,
     OPC_Scope, 30, 
      OPC_CheckChild2Integer, 0, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 2, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 20, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 22, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 24, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     30, 
      OPC_CheckChild2Integer, 26, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32), 0,
                    MVT::v4i1, 6, 1, 2, 3, 4, 0, 5, 
     0, 
    0, 
   0,
  77|128,20, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 102, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 24, 
     OPC_CheckChild0Integer, 20|128,38, 
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCTP8), 0,
                   MVT::v16i1, 4, 0, 2, 1, 3, 
    24, 
     OPC_CheckChild0Integer, 14|128,38, 
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCTP16), 0,
                   MVT::v8i1, 4, 0, 2, 1, 3, 
    24, 
     OPC_CheckChild0Integer, 16|128,38, 
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCTP32), 0,
                   MVT::v4i1, 4, 0, 2, 1, 3, 
    24, 
     OPC_CheckChild0Integer, 18|128,38, 
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCTP64), 0,
                   MVT::v2i1, 4, 0, 2, 1, 3, 
    0, 
   35, TARGET_VAL(ARMISD::VMOVIMM),
    OPC_CheckChild0Integer, 126|128,51, 
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMOVLu16bh), 0,
                  MVT::v4i32, 5, 0, 1, 2, 3, 4, 
   13|128,10, TARGET_VAL(ARMISD::VCMPZ),
    OPC_RecordChild0,
    OPC_Scope, 28|128,2, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_Scope, 34, 
      OPC_CheckChild1Integer, 0, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi8r), 0,
                    MVT::v16i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 2, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi8r), 0,
                    MVT::v16i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 20, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs8r), 0,
                    MVT::v16i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 22, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs8r), 0,
                    MVT::v16i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 24, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs8r), 0,
                    MVT::v16i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 26, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs8r), 0,
                    MVT::v16i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 16, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu8r), 0,
                    MVT::v16i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 4, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu8r), 0,
                    MVT::v16i1, 6, 0, 2, 3, 4, 1, 5, 
     0, 
    28|128,2, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_Scope, 34, 
      OPC_CheckChild1Integer, 0, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi16r), 0,
                    MVT::v8i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 2, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi16r), 0,
                    MVT::v8i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 20, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs16r), 0,
                    MVT::v8i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 22, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs16r), 0,
                    MVT::v8i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 24, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs16r), 0,
                    MVT::v8i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 26, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs16r), 0,
                    MVT::v8i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 16, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu16r), 0,
                    MVT::v8i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 4, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu16r), 0,
                    MVT::v8i1, 6, 0, 2, 3, 4, 1, 5, 
     0, 
    28|128,2, 
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_Scope, 34, 
      OPC_CheckChild1Integer, 0, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi32r), 0,
                    MVT::v4i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 2, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi32r), 0,
                    MVT::v4i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 20, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs32r), 0,
                    MVT::v4i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 22, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs32r), 0,
                    MVT::v4i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 24, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs32r), 0,
                    MVT::v4i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 26, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs32r), 0,
                    MVT::v4i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 16, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu32r), 0,
                    MVT::v4i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 4, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu32r), 0,
                    MVT::v4i1, 6, 0, 2, 3, 4, 1, 5, 
     0, 
    86|128,1, 
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_Scope, 34, 
      OPC_CheckChild1Integer, 0, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16r), 0,
                    MVT::v8i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 2, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16r), 0,
                    MVT::v8i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 20, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16r), 0,
                    MVT::v8i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 22, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16r), 0,
                    MVT::v8i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 24, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16r), 0,
                    MVT::v8i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 26, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16r), 0,
                    MVT::v8i1, 6, 0, 2, 3, 4, 1, 5, 
     0, 
    86|128,1, 
     OPC_CheckChild0Type, MVT::v4f32,
     OPC_Scope, 34, 
      OPC_CheckChild1Integer, 0, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32r), 0,
                    MVT::v4i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 2, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32r), 0,
                    MVT::v4i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 20, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32r), 0,
                    MVT::v4i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 22, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32r), 0,
                    MVT::v4i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 24, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32r), 0,
                    MVT::v4i1, 6, 0, 2, 3, 4, 1, 5, 
     34, 
      OPC_CheckChild1Integer, 26, 
      OPC_CheckChild1Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitRegister, MVT::i32, ARM::ZR,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32r), 0,
                    MVT::v4i1, 6, 0, 2, 3, 4, 1, 5, 
     0, 
    0, 
   38|128,9, TARGET_VAL(ARMISD::VCMP),
    OPC_RecordChild0,
    OPC_Scope, 5|128,2, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_RecordChild1,
     OPC_Scope, 31, 
      OPC_CheckChild2Integer, 0, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi8), 0,
                    MVT::v16i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 2, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi8), 0,
                    MVT::v16i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 20, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs8), 0,
                    MVT::v16i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 22, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs8), 0,
                    MVT::v16i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 24, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs8), 0,
                    MVT::v16i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 26, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs8), 0,
                    MVT::v16i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 16, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu8), 0,
                    MVT::v16i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 4, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu8), 0,
                    MVT::v16i1, 6, 0, 1, 3, 4, 2, 5, 
     0, 
    5|128,2, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_Scope, 31, 
      OPC_CheckChild2Integer, 0, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi16), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 2, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi16), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 20, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs16), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 22, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs16), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 24, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs16), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 26, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs16), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 16, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu16), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 4, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu16), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     0, 
    5|128,2, 
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_Scope, 31, 
      OPC_CheckChild2Integer, 0, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi32), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 2, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPi32), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 20, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs32), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 22, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs32), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 24, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs32), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 26, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPs32), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 16, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 16, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu32), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 4, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 4, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPu32), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     0, 
    69|128,1, 
     OPC_CheckChild0Type, MVT::v8f16,
     OPC_RecordChild1,
     OPC_Scope, 31, 
      OPC_CheckChild2Integer, 0, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 2, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 20, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 22, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 24, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 26, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v8i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf16), 0,
                    MVT::v8i1, 6, 0, 1, 3, 4, 2, 5, 
     0, 
    69|128,1, 
     OPC_CheckChild0Type, MVT::v4f32,
     OPC_RecordChild1,
     OPC_Scope, 31, 
      OPC_CheckChild2Integer, 0, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 2, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 20, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 20, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 22, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 22, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 24, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 24, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     31, 
      OPC_CheckChild2Integer, 26, 
      OPC_CheckChild2Type, MVT::i32,
      OPC_MoveParent,
      OPC_RecordChild1,
      OPC_CheckType, MVT::v4i1,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 26, 
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMPf32), 0,
                    MVT::v4i1, 6, 0, 1, 3, 4, 2, 5, 
     0, 
    0, 
   0,
  119|128,4, 
   OPC_RecordChild0,
   OPC_Scope, 102, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_Scope, 23, 
     OPC_CheckChild0Integer, 20|128,38, 
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCTP8), 0,
                   MVT::v16i1, 4, 1, 2, 0, 3, 
    23, 
     OPC_CheckChild0Integer, 14|128,38, 
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCTP16), 0,
                   MVT::v8i1, 4, 1, 2, 0, 3, 
    23, 
     OPC_CheckChild0Integer, 16|128,38, 
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCTP32), 0,
                   MVT::v4i1, 4, 1, 2, 0, 3, 
    23, 
     OPC_CheckChild0Integer, 18|128,38, 
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCTP64), 0,
                   MVT::v2i1, 4, 1, 2, 0, 3, 
    0, 
   11|128,4, 
    OPC_RecordChild1,
    OPC_SwitchType , 18, MVT::v2i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VANDd), 0,
                   MVT::v2i32, 4, 0, 1, 2, 3, 
    51, MVT::v4i32,
     OPC_Scope, 18, 
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VANDq), 0,
                    MVT::v4i32, 4, 0, 1, 2, 3, 
     29, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VAND), 0,
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    18, MVT::v8i8,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VANDd), 0,
                   MVT::v8i8, 4, 0, 1, 2, 3, 
    18, MVT::v4i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VANDd), 0,
                   MVT::v4i16, 4, 0, 1, 2, 3, 
    18, MVT::v1i64,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VANDd), 0,
                   MVT::v1i64, 4, 0, 1, 2, 3, 
    51, MVT::v16i8,
     OPC_Scope, 18, 
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VANDq), 0,
                    MVT::v16i8, 4, 0, 1, 2, 3, 
     29, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VAND), 0,
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    51, MVT::v8i16,
     OPC_Scope, 18, 
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VANDq), 0,
                    MVT::v8i16, 4, 0, 1, 2, 3, 
     29, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VAND), 0,
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    51, MVT::v2i64,
     OPC_Scope, 18, 
      OPC_CheckPatternPredicate, 7,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VANDq), 0,
                    MVT::v2i64, 4, 0, 1, 2, 3, 
     29, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VAND), 0,
                    MVT::v2i64, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    55, MVT::v16i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::i32, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::i32, 2, 1, 4, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::t2ANDrr), 0,
                   MVT::i32, 5, 3, 5, 6, 7, 8, 
     OPC_EmitStringInteger, MVT::i32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v16i1, 2, 9, 10, 
    55, MVT::v8i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::i32, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::i32, 2, 1, 4, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::t2ANDrr), 0,
                   MVT::i32, 5, 3, 5, 6, 7, 8, 
     OPC_EmitStringInteger, MVT::i32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v8i1, 2, 9, 10, 
    55, MVT::v4i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::i32, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::i32, 2, 1, 4, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::t2ANDrr), 0,
                   MVT::i32, 5, 3, 5, 6, 7, 8, 
     OPC_EmitStringInteger, MVT::i32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v4i1, 2, 9, 10, 
    55, MVT::v2i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::i32, 2, 0, 2, 
     OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::i32, 2, 1, 4, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::t2ANDrr), 0,
                   MVT::i32, 5, 3, 5, 6, 7, 8, 
     OPC_EmitStringInteger, MVT::i32, ARM::VCCRRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::v2i1, 2, 9, 10, 
    0,
   0, 
  0, 
 20|128,22|128,3, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
  OPC_Scope, 120, 
   OPC_CheckChild0Integer, 50|128,43, 
   OPC_Scope, 66, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 13,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_Scope, 23, 
     OPC_CheckPatternPredicate, 0,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 2, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTB16), 0,
                   MVT::i32, 4, 0, 3, 4, 5, 
    23, 
     OPC_CheckPatternPredicate, 2,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 2, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTB16), 0,
                   MVT::i32, 4, 0, 3, 4, 5, 
    0, 
   47, 
    OPC_RecordChild1,
    OPC_Scope, 21, 
     OPC_CheckPatternPredicate, 0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTB16), 0,
                   MVT::i32, 4, 0, 1, 2, 3, 
    21, 
     OPC_CheckPatternPredicate, 2,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTB16), 0,
                   MVT::i32, 4, 0, 1, 2, 3, 
    0, 
   0, 
  8|128,1, 
   OPC_CheckChild0Integer, 48|128,43, 
   OPC_RecordChild1,
   OPC_Scope, 40, 
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 13,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 2,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAB16), 0,
                  MVT::i32, 5, 0, 1, 4, 5, 6, 
   23, 
    OPC_RecordChild2,
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UXTAB16), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   40, 
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 13,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 0,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitNodeXForm, 2, 3,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAB16), 0,
                  MVT::i32, 5, 0, 1, 4, 5, 6, 
   23, 
    OPC_RecordChild2,
    OPC_CheckPatternPredicate, 0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UXTAB16), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   0, 
  71|128,7, 
   OPC_CheckChild0Integer, 100|128,38, 
   OPC_Scope, 0|128,6, 
    OPC_CheckChild1Integer, 0, 
    OPC_Scope, 124|128,2, 
     OPC_CheckChild2Integer, 0, 
     OPC_Scope, 58|128,1, 
      OPC_CheckChild3Integer, 0, 
      OPC_Scope, 89, 
       OPC_CheckChild4Integer, 0, 
       OPC_RecordChild5,
       OPC_Scope, 27, 
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVs8), 0,
                      MVT::i32, 5, 0, 1, 2, 3, 4, 
       27, 
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVs16), 0,
                      MVT::i32, 5, 0, 1, 2, 3, 4, 
       27, 
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVs32), 0,
                      MVT::i32, 5, 0, 1, 2, 3, 4, 
       0, 
      91, 
       OPC_RecordChild4,
       OPC_RecordChild5,
       OPC_Scope, 28, 
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVas8), 0,
                      MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
       28, 
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVas16), 0,
                      MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
       28, 
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVas32), 0,
                      MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
       0, 
      0, 
     58|128,1, 
      OPC_CheckChild3Integer, 2, 
      OPC_Scope, 89, 
       OPC_CheckChild4Integer, 0, 
       OPC_RecordChild5,
       OPC_Scope, 27, 
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVxs8), 0,
                      MVT::i32, 5, 0, 1, 2, 3, 4, 
       27, 
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVxs16), 0,
                      MVT::i32, 5, 0, 1, 2, 3, 4, 
       27, 
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVxs32), 0,
                      MVT::i32, 5, 0, 1, 2, 3, 4, 
       0, 
      91, 
       OPC_RecordChild4,
       OPC_RecordChild5,
       OPC_Scope, 28, 
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVaxs8), 0,
                      MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
       28, 
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVaxs16), 0,
                      MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
       28, 
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVaxs32), 0,
                      MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
       0, 
      0, 
     0, 
    124|128,2, 
     OPC_CheckChild2Integer, 2, 
     OPC_Scope, 58|128,1, 
      OPC_CheckChild3Integer, 0, 
      OPC_Scope, 89, 
       OPC_CheckChild4Integer, 0, 
       OPC_RecordChild5,
       OPC_Scope, 27, 
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLSDAVs8), 0,
                      MVT::i32, 5, 0, 1, 2, 3, 4, 
       27, 
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLSDAVs16), 0,
                      MVT::i32, 5, 0, 1, 2, 3, 4, 
       27, 
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLSDAVs32), 0,
                      MVT::i32, 5, 0, 1, 2, 3, 4, 
       0, 
      91, 
       OPC_RecordChild4,
       OPC_RecordChild5,
       OPC_Scope, 28, 
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLSDAVas8), 0,
                      MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
       28, 
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLSDAVas16), 0,
                      MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
       28, 
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLSDAVas32), 0,
                      MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
       0, 
      0, 
     58|128,1, 
      OPC_CheckChild3Integer, 2, 
      OPC_Scope, 89, 
       OPC_CheckChild4Integer, 0, 
       OPC_RecordChild5,
       OPC_Scope, 27, 
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLSDAVxs8), 0,
                      MVT::i32, 5, 0, 1, 2, 3, 4, 
       27, 
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLSDAVxs16), 0,
                      MVT::i32, 5, 0, 1, 2, 3, 4, 
       27, 
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLSDAVxs32), 0,
                      MVT::i32, 5, 0, 1, 2, 3, 4, 
       0, 
      91, 
       OPC_RecordChild4,
       OPC_RecordChild5,
       OPC_Scope, 28, 
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLSDAVaxs8), 0,
                      MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
       28, 
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLSDAVaxs16), 0,
                      MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
       28, 
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLSDAVaxs32), 0,
                      MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
       0, 
      0, 
     0, 
    0, 
   62|128,1, 
    OPC_CheckChild1Integer, 2, 
    OPC_CheckChild2Integer, 0, 
    OPC_CheckChild3Integer, 0, 
    OPC_Scope, 89, 
     OPC_CheckChild4Integer, 0, 
     OPC_RecordChild5,
     OPC_Scope, 27, 
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v16i8,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVu8), 0,
                    MVT::i32, 5, 0, 1, 2, 3, 4, 
     27, 
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v8i16,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVu16), 0,
                    MVT::i32, 5, 0, 1, 2, 3, 4, 
     27, 
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVu32), 0,
                    MVT::i32, 5, 0, 1, 2, 3, 4, 
     0, 
    91, 
     OPC_RecordChild4,
     OPC_RecordChild5,
     OPC_Scope, 28, 
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v16i8,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau8), 0,
                    MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
     28, 
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v8i16,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau16), 0,
                    MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
     28, 
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau32), 0,
                    MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    0, 
   0, 
  71|128,7, 
   OPC_CheckChild0Integer, 102|128,38, 
   OPC_Scope, 0|128,6, 
    OPC_CheckChild1Integer, 0, 
    OPC_Scope, 124|128,2, 
     OPC_CheckChild2Integer, 0, 
     OPC_Scope, 58|128,1, 
      OPC_CheckChild3Integer, 0, 
      OPC_Scope, 89, 
       OPC_CheckChild4Integer, 0, 
       OPC_RecordChild5,
       OPC_Scope, 27, 
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v16i1,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVs8), 0,
                      MVT::i32, 5, 0, 1, 3, 2, 4, 
       27, 
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v8i1,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVs16), 0,
                      MVT::i32, 5, 0, 1, 3, 2, 4, 
       27, 
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVs32), 0,
                      MVT::i32, 5, 0, 1, 3, 2, 4, 
       0, 
      91, 
       OPC_RecordChild4,
       OPC_RecordChild5,
       OPC_Scope, 28, 
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v16i1,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVas8), 0,
                      MVT::i32, 6, 0, 1, 2, 4, 3, 5, 
       28, 
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v8i1,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVas16), 0,
                      MVT::i32, 6, 0, 1, 2, 4, 3, 5, 
       28, 
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVas32), 0,
                      MVT::i32, 6, 0, 1, 2, 4, 3, 5, 
       0, 
      0, 
     58|128,1, 
      OPC_CheckChild3Integer, 2, 
      OPC_Scope, 89, 
       OPC_CheckChild4Integer, 0, 
       OPC_RecordChild5,
       OPC_Scope, 27, 
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v16i1,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVxs8), 0,
                      MVT::i32, 5, 0, 1, 3, 2, 4, 
       27, 
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v8i1,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVxs16), 0,
                      MVT::i32, 5, 0, 1, 3, 2, 4, 
       27, 
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVxs32), 0,
                      MVT::i32, 5, 0, 1, 3, 2, 4, 
       0, 
      91, 
       OPC_RecordChild4,
       OPC_RecordChild5,
       OPC_Scope, 28, 
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v16i1,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVaxs8), 0,
                      MVT::i32, 6, 0, 1, 2, 4, 3, 5, 
       28, 
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v8i1,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVaxs16), 0,
                      MVT::i32, 6, 0, 1, 2, 4, 3, 5, 
       28, 
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVaxs32), 0,
                      MVT::i32, 6, 0, 1, 2, 4, 3, 5, 
       0, 
      0, 
     0, 
    124|128,2, 
     OPC_CheckChild2Integer, 2, 
     OPC_Scope, 58|128,1, 
      OPC_CheckChild3Integer, 0, 
      OPC_Scope, 89, 
       OPC_CheckChild4Integer, 0, 
       OPC_RecordChild5,
       OPC_Scope, 27, 
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v16i1,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLSDAVs8), 0,
                      MVT::i32, 5, 0, 1, 3, 2, 4, 
       27, 
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v8i1,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLSDAVs16), 0,
                      MVT::i32, 5, 0, 1, 3, 2, 4, 
       27, 
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLSDAVs32), 0,
                      MVT::i32, 5, 0, 1, 3, 2, 4, 
       0, 
      91, 
       OPC_RecordChild4,
       OPC_RecordChild5,
       OPC_Scope, 28, 
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v16i1,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLSDAVas8), 0,
                      MVT::i32, 6, 0, 1, 2, 4, 3, 5, 
       28, 
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v8i1,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLSDAVas16), 0,
                      MVT::i32, 6, 0, 1, 2, 4, 3, 5, 
       28, 
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLSDAVas32), 0,
                      MVT::i32, 6, 0, 1, 2, 4, 3, 5, 
       0, 
      0, 
     58|128,1, 
      OPC_CheckChild3Integer, 2, 
      OPC_Scope, 89, 
       OPC_CheckChild4Integer, 0, 
       OPC_RecordChild5,
       OPC_Scope, 27, 
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v16i1,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLSDAVxs8), 0,
                      MVT::i32, 5, 0, 1, 3, 2, 4, 
       27, 
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v8i1,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLSDAVxs16), 0,
                      MVT::i32, 5, 0, 1, 3, 2, 4, 
       27, 
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLSDAVxs32), 0,
                      MVT::i32, 5, 0, 1, 3, 2, 4, 
       0, 
      91, 
       OPC_RecordChild4,
       OPC_RecordChild5,
       OPC_Scope, 28, 
        OPC_CheckChild5Type, MVT::v16i8,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v16i8,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v16i1,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLSDAVaxs8), 0,
                      MVT::i32, 6, 0, 1, 2, 4, 3, 5, 
       28, 
        OPC_CheckChild5Type, MVT::v8i16,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v8i16,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v8i1,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLSDAVaxs16), 0,
                      MVT::i32, 6, 0, 1, 2, 4, 3, 5, 
       28, 
        OPC_CheckChild5Type, MVT::v4i32,
        OPC_RecordChild6,
        OPC_CheckChild6Type, MVT::v4i32,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_CheckPatternPredicate, 8,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLSDAVaxs32), 0,
                      MVT::i32, 6, 0, 1, 2, 4, 3, 5, 
       0, 
      0, 
     0, 
    0, 
   62|128,1, 
    OPC_CheckChild1Integer, 2, 
    OPC_CheckChild2Integer, 0, 
    OPC_CheckChild3Integer, 0, 
    OPC_Scope, 89, 
     OPC_CheckChild4Integer, 0, 
     OPC_RecordChild5,
     OPC_Scope, 27, 
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v16i8,
      OPC_RecordChild7,
      OPC_CheckChild7Type, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVu8), 0,
                    MVT::i32, 5, 0, 1, 3, 2, 4, 
     27, 
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v8i16,
      OPC_RecordChild7,
      OPC_CheckChild7Type, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVu16), 0,
                    MVT::i32, 5, 0, 1, 3, 2, 4, 
     27, 
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v4i32,
      OPC_RecordChild7,
      OPC_CheckChild7Type, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVu32), 0,
                    MVT::i32, 5, 0, 1, 3, 2, 4, 
     0, 
    91, 
     OPC_RecordChild4,
     OPC_RecordChild5,
     OPC_Scope, 28, 
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v16i8,
      OPC_RecordChild7,
      OPC_CheckChild7Type, MVT::v16i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau8), 0,
                    MVT::i32, 6, 0, 1, 2, 4, 3, 5, 
     28, 
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v8i16,
      OPC_RecordChild7,
      OPC_CheckChild7Type, MVT::v8i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau16), 0,
                    MVT::i32, 6, 0, 1, 2, 4, 3, 5, 
     28, 
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v4i32,
      OPC_RecordChild7,
      OPC_CheckChild7Type, MVT::v4i1,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLADAVau32), 0,
                    MVT::i32, 6, 0, 1, 2, 4, 3, 5, 
     0, 
    0, 
   0, 
  114|128,1, 
   OPC_CheckChild0Integer, 100|128,42, 
   OPC_Scope, 39|128,1, 
    OPC_MoveChild1,
    OPC_SwitchOpcode , 76, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 32,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 33,
     OPC_MoveParent,
     OPC_Scope, 26, 
      OPC_CheckPatternPredicate, 0,
      OPC_EmitConvertToTarget, 2,
      OPC_EmitNodeXForm, 11, 3,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::SSAT), 0,
                    MVT::i32, 5, 4, 0, 5, 6, 7, 
     26, 
      OPC_CheckPatternPredicate, 1,
      OPC_EmitConvertToTarget, 2,
      OPC_EmitNodeXForm, 11, 3,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SSAT), 0,
                    MVT::i32, 5, 4, 0, 5, 6, 7, 
     0, 
    82, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 1,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 33,
     OPC_MoveParent,
     OPC_Scope, 29, 
      OPC_CheckPatternPredicate, 0,
      OPC_EmitConvertToTarget, 2,
      OPC_EmitNodeXForm, 11, 3,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 12, 5,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::SSAT), 0,
                    MVT::i32, 5, 4, 0, 6, 7, 8, 
     29, 
      OPC_CheckPatternPredicate, 1,
      OPC_EmitConvertToTarget, 2,
      OPC_EmitNodeXForm, 11, 3,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 12, 5,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SSAT), 0,
                    MVT::i32, 5, 4, 0, 6, 7, 8, 
     0, 
    0,
   67, 
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 33,
    OPC_MoveParent,
    OPC_Scope, 27, 
     OPC_CheckPatternPredicate, 0,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 11, 2,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::SSAT), 0,
                   MVT::i32, 5, 3, 0, 4, 5, 6, 
    27, 
     OPC_CheckPatternPredicate, 1,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 11, 2,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SSAT), 0,
                   MVT::i32, 5, 3, 0, 4, 5, 6, 
    0, 
   0, 
  96|128,1, 
   OPC_CheckChild0Integer, 38|128,43, 
   OPC_Scope, 27|128,1, 
    OPC_MoveChild1,
    OPC_SwitchOpcode , 70, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 32,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 32,
     OPC_MoveParent,
     OPC_Scope, 23, 
      OPC_CheckPatternPredicate, 0,
      OPC_EmitConvertToTarget, 2,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::USAT), 0,
                    MVT::i32, 5, 3, 0, 4, 5, 6, 
     23, 
      OPC_CheckPatternPredicate, 1,
      OPC_EmitConvertToTarget, 2,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2USAT), 0,
                    MVT::i32, 5, 3, 0, 4, 5, 6, 
     0, 
    76, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 1,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 32,
     OPC_MoveParent,
     OPC_Scope, 26, 
      OPC_CheckPatternPredicate, 0,
      OPC_EmitConvertToTarget, 2,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 12, 4,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::USAT), 0,
                    MVT::i32, 5, 3, 0, 5, 6, 7, 
     26, 
      OPC_CheckPatternPredicate, 1,
      OPC_EmitConvertToTarget, 2,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 12, 4,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2USAT), 0,
                    MVT::i32, 5, 3, 0, 5, 6, 7, 
     0, 
    0,
   61, 
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 32,
    OPC_MoveParent,
    OPC_Scope, 24, 
     OPC_CheckPatternPredicate, 0,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::USAT), 0,
                   MVT::i32, 5, 2, 0, 3, 4, 5, 
    24, 
     OPC_CheckPatternPredicate, 1,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2USAT), 0,
                   MVT::i32, 5, 2, 0, 3, 4, 5, 
    0, 
   0, 
  26|128,1, 
   OPC_CheckChild0Integer, 12|128,42, 
   OPC_Scope, 52, 
    OPC_RecordChild1,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 12|128,42, 
    OPC_RecordChild1,
    OPC_CheckChild2Same, 1,
    OPC_MoveParent,
    OPC_Scope, 18, 
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::QDADD), 0,
                   MVT::i32, 4, 0, 1, 2, 3, 
    18, 
     OPC_CheckPatternPredicate, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2QDADD), 0,
                   MVT::i32, 4, 0, 1, 2, 3, 
    0, 
   52, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 12|128,42, 
    OPC_RecordChild1,
    OPC_CheckChild2Same, 0,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_Scope, 18, 
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::QDADD), 0,
                   MVT::i32, 4, 1, 0, 2, 3, 
    18, 
     OPC_CheckPatternPredicate, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2QDADD), 0,
                   MVT::i32, 4, 1, 0, 2, 3, 
    0, 
   42, 
    OPC_RecordChild1,
    OPC_RecordChild2,
    OPC_Scope, 18, 
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::QADD), 0,
                   MVT::i32, 4, 0, 1, 2, 3, 
    18, 
     OPC_CheckPatternPredicate, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2QADD), 0,
                   MVT::i32, 4, 0, 1, 2, 3, 
    0, 
   0, 
  100, 
   OPC_CheckChild0Integer, 22|128,42, 
   OPC_RecordChild1,
   OPC_Scope, 51, 
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
    OPC_CheckChild0Integer, 12|128,42, 
    OPC_RecordChild1,
    OPC_CheckChild2Same, 1,
    OPC_MoveParent,
    OPC_Scope, 18, 
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::QDSUB), 0,
                   MVT::i32, 4, 0, 1, 2, 3, 
    18, 
     OPC_CheckPatternPredicate, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2QDSUB), 0,
                   MVT::i32, 4, 0, 1, 2, 3, 
    0, 
   41, 
    OPC_RecordChild2,
    OPC_Scope, 18, 
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::QSUB), 0,
                   MVT::i32, 4, 0, 1, 2, 3, 
    18, 
     OPC_CheckPatternPredicate, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2QSUB), 0,
                   MVT::i32, 4, 0, 1, 2, 3, 
    0, 
   0, 
  120, 
   OPC_CheckChild0Integer, 0|128,43, 
   OPC_Scope, 66, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 13,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_Scope, 23, 
     OPC_CheckPatternPredicate, 0,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 2, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTB16), 0,
                   MVT::i32, 4, 0, 3, 4, 5, 
    23, 
     OPC_CheckPatternPredicate, 2,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 2, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTB16), 0,
                   MVT::i32, 4, 0, 3, 4, 5, 
    0, 
   47, 
    OPC_RecordChild1,
    OPC_Scope, 21, 
     OPC_CheckPatternPredicate, 0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTB16), 0,
                   MVT::i32, 4, 0, 1, 2, 3, 
    21, 
     OPC_CheckPatternPredicate, 2,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTB16), 0,
                   MVT::i32, 4, 0, 1, 2, 3, 
    0, 
   0, 
  125, 
   OPC_CheckChild0Integer, 126|128,42, 
   OPC_RecordChild1,
   OPC_Scope, 68, 
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 13,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_Scope, 24, 
     OPC_CheckPatternPredicate, 0,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitNodeXForm, 2, 3,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAB16), 0,
                   MVT::i32, 5, 0, 1, 4, 5, 6, 
    24, 
     OPC_CheckPatternPredicate, 2,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitNodeXForm, 2, 3,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAB16), 0,
                   MVT::i32, 5, 0, 1, 4, 5, 6, 
    0, 
   49, 
    OPC_RecordChild2,
    OPC_Scope, 22, 
     OPC_CheckPatternPredicate, 0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::SXTAB16), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    22, 
     OPC_CheckPatternPredicate, 2,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SXTAB16), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    0, 
   0, 
  27, 
   OPC_CheckChild0Integer, 98|128,35, 
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 19,
   OPC_EmitConvertToTarget, 1,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_CX1), 0,
                 MVT::i32, 2, 0, 2, 
  37, 
   OPC_CheckChild0Integer, 100|128,35, 
   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, 19,
   OPC_EmitConvertToTarget, 2,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_CX1A), 0,
                 MVT::i32, 5, 0, 1, 3, 4, 5, 
  29, 
   OPC_CheckChild0Integer, 106|128,35, 
   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, 19,
   OPC_EmitConvertToTarget, 2,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_CX2), 0,
                 MVT::i32, 3, 0, 1, 3, 
  39, 
   OPC_CheckChild0Integer, 108|128,35, 
   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, 19,
   OPC_EmitConvertToTarget, 3,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_CX2A), 0,
                 MVT::i32, 6, 0, 1, 2, 4, 5, 6, 
  31, 
   OPC_CheckChild0Integer, 114|128,35, 
   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, 19,
   OPC_EmitConvertToTarget, 3,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_CX3), 0,
                 MVT::i32, 4, 0, 1, 2, 4, 
  41, 
   OPC_CheckChild0Integer, 116|128,35, 
   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, 19,
   OPC_EmitConvertToTarget, 4,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_CX3A), 0,
                 MVT::i32, 7, 0, 1, 2, 3, 5, 6, 7, 
  65|128,1, 
   OPC_CheckChild0Integer, 114|128,37, 
   OPC_Scope, 93, 
    OPC_CheckChild1Integer, 0, 
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_Scope, 28, 
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABAVs8), 0,
                   MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
    28, 
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABAVs16), 0,
                   MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
    28, 
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABAVs32), 0,
                   MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   93, 
    OPC_CheckChild1Integer, 2, 
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_Scope, 28, 
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABAVu8), 0,
                   MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
    28, 
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABAVu16), 0,
                   MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
    28, 
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABAVu32), 0,
                   MVT::i32, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   0, 
  65|128,1, 
   OPC_CheckChild0Integer, 116|128,37, 
   OPC_Scope, 93, 
    OPC_CheckChild1Integer, 0, 
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_Scope, 28, 
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABAVs8), 0,
                   MVT::i32, 6, 0, 1, 2, 4, 3, 5, 
    28, 
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABAVs16), 0,
                   MVT::i32, 6, 0, 1, 2, 4, 3, 5, 
    28, 
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABAVs32), 0,
                   MVT::i32, 6, 0, 1, 2, 4, 3, 5, 
    0, 
   93, 
    OPC_CheckChild1Integer, 2, 
    OPC_RecordChild2,
    OPC_RecordChild3,
    OPC_Scope, 28, 
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABAVu8), 0,
                   MVT::i32, 6, 0, 1, 2, 4, 3, 5, 
    28, 
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABAVu16), 0,
                   MVT::i32, 6, 0, 1, 2, 4, 3, 5, 
    28, 
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABAVu32), 0,
                   MVT::i32, 6, 0, 1, 2, 4, 3, 5, 
    0, 
   0, 
  37|128,1, 
   OPC_CheckChild0Integer, 118|128,36, 
   OPC_RecordChild1,
   OPC_Scope, 52, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 23, 
     OPC_CheckChild2Integer, 0, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVs8no_acc), 0,
                   MVT::i32, 4, 0, 2, 1, 3, 
    23, 
     OPC_CheckChild2Integer, 2, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu8no_acc), 0,
                   MVT::i32, 4, 0, 2, 1, 3, 
    0, 
   52, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 23, 
     OPC_CheckChild2Integer, 0, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVs16no_acc), 0,
                   MVT::i32, 4, 0, 2, 1, 3, 
    23, 
     OPC_CheckChild2Integer, 2, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu16no_acc), 0,
                   MVT::i32, 4, 0, 2, 1, 3, 
    0, 
   52, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 23, 
     OPC_CheckChild2Integer, 0, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVs32no_acc), 0,
                   MVT::i32, 4, 0, 2, 1, 3, 
    23, 
     OPC_CheckChild2Integer, 2, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDVu32no_acc), 0,
                   MVT::i32, 4, 0, 2, 1, 3, 
    0, 
   0, 
  44|128,1, 
   OPC_CheckChild0Integer, 44|128,37, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 54, 
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 24, 
     OPC_CheckChild3Integer, 0, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINVs8), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    24, 
     OPC_CheckChild3Integer, 2, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINVu8), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    0, 
   54, 
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 24, 
     OPC_CheckChild3Integer, 0, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINVs16), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    24, 
     OPC_CheckChild3Integer, 2, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINVu16), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    0, 
   54, 
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 24, 
     OPC_CheckChild3Integer, 0, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINVs32), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    24, 
     OPC_CheckChild3Integer, 2, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINVu32), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    0, 
   0, 
  44|128,1, 
   OPC_CheckChild0Integer, 46|128,37, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 54, 
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 24, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINVs8), 0,
                   MVT::i32, 5, 0, 1, 3, 2, 4, 
    24, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINVu8), 0,
                   MVT::i32, 5, 0, 1, 3, 2, 4, 
    0, 
   54, 
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 24, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINVs16), 0,
                   MVT::i32, 5, 0, 1, 3, 2, 4, 
    24, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINVu16), 0,
                   MVT::i32, 5, 0, 1, 3, 2, 4, 
    0, 
   54, 
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 24, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINVs32), 0,
                   MVT::i32, 5, 0, 1, 3, 2, 4, 
    24, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINVu32), 0,
                   MVT::i32, 5, 0, 1, 3, 2, 4, 
    0, 
   0, 
  44|128,1, 
   OPC_CheckChild0Integer, 26|128,37, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 54, 
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 24, 
     OPC_CheckChild3Integer, 0, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXVs8), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    24, 
     OPC_CheckChild3Integer, 2, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXVu8), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    0, 
   54, 
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 24, 
     OPC_CheckChild3Integer, 0, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXVs16), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    24, 
     OPC_CheckChild3Integer, 2, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXVu16), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    0, 
   54, 
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 24, 
     OPC_CheckChild3Integer, 0, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXVs32), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    24, 
     OPC_CheckChild3Integer, 2, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXVu32), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    0, 
   0, 
  44|128,1, 
   OPC_CheckChild0Integer, 28|128,37, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 54, 
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 24, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXVs8), 0,
                   MVT::i32, 5, 0, 1, 3, 2, 4, 
    24, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXVu8), 0,
                   MVT::i32, 5, 0, 1, 3, 2, 4, 
    0, 
   54, 
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 24, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXVs16), 0,
                   MVT::i32, 5, 0, 1, 3, 2, 4, 
    24, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXVu16), 0,
                   MVT::i32, 5, 0, 1, 3, 2, 4, 
    0, 
   54, 
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 24, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXVs32), 0,
                   MVT::i32, 5, 0, 1, 3, 2, 4, 
    24, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXVu32), 0,
                   MVT::i32, 5, 0, 1, 3, 2, 4, 
    0, 
   0, 
  62, 
   OPC_CheckChild0Integer, 102|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 34,
   OPC_MoveParent,
   OPC_Scope, 23, 
    OPC_CheckPatternPredicate, 0,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitNodeXForm, 13, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SSAT16), 0,
                  MVT::i32, 4, 3, 0, 4, 5, 
   23, 
    OPC_CheckPatternPredicate, 1,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitNodeXForm, 13, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SSAT16), 0,
                  MVT::i32, 4, 3, 0, 4, 5, 
   0, 
  56, 
   OPC_CheckChild0Integer, 40|128,43, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_CheckPredicate, 35,
   OPC_MoveParent,
   OPC_Scope, 20, 
    OPC_CheckPatternPredicate, 0,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::USAT16), 0,
                  MVT::i32, 4, 2, 0, 3, 4, 
   20, 
    OPC_CheckPatternPredicate, 1,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2USAT16), 0,
                  MVT::i32, 4, 2, 0, 3, 4, 
   0, 
  30, 
   OPC_CheckChild0Integer, 92|128,37, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 20,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_SQSHL), 0,
                 MVT::i32, 4, 0, 2, 3, 4, 
  30, 
   OPC_CheckChild0Integer, 96|128,37, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 20,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_SRSHR), 0,
                 MVT::i32, 4, 0, 2, 3, 4, 
  30, 
   OPC_CheckChild0Integer, 106|128,37, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 20,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_UQSHL), 0,
                 MVT::i32, 4, 0, 2, 3, 4, 
  30, 
   OPC_CheckChild0Integer, 110|128,37, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 20,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_URSHR), 0,
                 MVT::i32, 4, 0, 2, 3, 4, 
  45, 
   OPC_CheckChild0Integer, 16|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::QADD8), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2QADD8), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 14|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::QADD16), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2QADD16), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 24|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::QSUB16), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2QSUB16), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 26|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::QSUB8), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2QSUB8), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 22|128,43, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UQADD16), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UQADD16), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 24|128,43, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UQADD8), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UQADD8), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 30|128,43, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UQSUB16), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UQSUB16), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 32|128,43, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UQSUB8), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UQSUB8), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 18|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::QASX), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2QASX), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 20|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::QSAX), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2QSAX), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 26|128,43, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UQASX), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UQASX), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 28|128,43, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UQSAX), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UQSAX), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 42|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SHASX), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SHASX), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 38|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SHADD16), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SHADD16), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 40|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SHADD8), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SHADD8), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 44|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SHSAX), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SHSAX), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 46|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SHSUB16), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SHSUB16), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 48|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SHSUB8), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SHSUB8), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 12|128,43, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UHASX), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UHASX), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 8|128,43, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UHADD16), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UHADD16), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 10|128,43, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UHADD8), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UHADD8), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 14|128,43, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UHSAX), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UHSAX), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 16|128,43, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UHSUB16), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UHSUB16), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 18|128,43, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::UHSUB8), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2UHSUB8), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 34|128,43, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::USAD8), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2USAD8), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  48, 
   OPC_CheckChild0Integer, 36|128,43, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 19, 
    OPC_CheckPatternPredicate, 0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::USADA8), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   19, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2USADA8), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   0, 
  48, 
   OPC_CheckChild0Integer, 54|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 19, 
    OPC_CheckPatternPredicate, 0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLAD), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   19, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLAD), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   0, 
  48, 
   OPC_CheckChild0Integer, 56|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 19, 
    OPC_CheckPatternPredicate, 0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLADX), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   19, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLADX), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   0, 
  48, 
   OPC_CheckChild0Integer, 70|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 19, 
    OPC_CheckPatternPredicate, 0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLSD), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   19, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLSD), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   0, 
  48, 
   OPC_CheckChild0Integer, 72|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 19, 
    OPC_CheckPatternPredicate, 0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLSDX), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   19, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLSDX), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   0, 
  45, 
   OPC_CheckChild0Integer, 78|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMUAD), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMUAD), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 80|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMUADX), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMUADX), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 94|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMUSD), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMUSD), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 96|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMUSDX), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMUSDX), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  29, 
   OPC_CheckChild0Integer, 48|128,36, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 21,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CRC32B), 0,
                  MVT::i32, 2, 0, 1, 
   10, 
    OPC_CheckPatternPredicate, 22,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CRC32B), 0,
                  MVT::i32, 2, 0, 1, 
   0, 
  29, 
   OPC_CheckChild0Integer, 50|128,36, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 21,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CRC32CB), 0,
                  MVT::i32, 2, 0, 1, 
   10, 
    OPC_CheckPatternPredicate, 22,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CRC32CB), 0,
                  MVT::i32, 2, 0, 1, 
   0, 
  29, 
   OPC_CheckChild0Integer, 56|128,36, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 21,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CRC32H), 0,
                  MVT::i32, 2, 0, 1, 
   10, 
    OPC_CheckPatternPredicate, 22,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CRC32H), 0,
                  MVT::i32, 2, 0, 1, 
   0, 
  29, 
   OPC_CheckChild0Integer, 52|128,36, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 21,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CRC32CH), 0,
                  MVT::i32, 2, 0, 1, 
   10, 
    OPC_CheckPatternPredicate, 22,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CRC32CH), 0,
                  MVT::i32, 2, 0, 1, 
   0, 
  29, 
   OPC_CheckChild0Integer, 58|128,36, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 21,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CRC32W), 0,
                  MVT::i32, 2, 0, 1, 
   10, 
    OPC_CheckPatternPredicate, 22,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CRC32W), 0,
                  MVT::i32, 2, 0, 1, 
   0, 
  29, 
   OPC_CheckChild0Integer, 54|128,36, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 10, 
    OPC_CheckPatternPredicate, 21,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CRC32CW), 0,
                  MVT::i32, 2, 0, 1, 
   10, 
    OPC_CheckPatternPredicate, 22,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CRC32CW), 0,
                  MVT::i32, 2, 0, 1, 
   0, 
  45, 
   OPC_CheckChild0Integer, 82|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 23,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMULBB), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMULBB), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 84|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 23,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMULBT), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMULBT), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 86|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 23,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMULTB), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMULTB), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 88|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 23,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMULTT), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMULTT), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 90|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 23,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMULWB), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMULWB), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  45, 
   OPC_CheckChild0Integer, 92|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 23,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMULWT), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMULWT), 0,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0, 
  48, 
   OPC_CheckChild0Integer, 50|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 19, 
    OPC_CheckPatternPredicate, 23,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABB), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   19, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABB), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   0, 
  48, 
   OPC_CheckChild0Integer, 52|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 19, 
    OPC_CheckPatternPredicate, 23,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLABT), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   19, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLABT), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   0, 
  48, 
   OPC_CheckChild0Integer, 62|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 19, 
    OPC_CheckPatternPredicate, 23,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLATB), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   19, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLATB), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   0, 
  48, 
   OPC_CheckChild0Integer, 64|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 19, 
    OPC_CheckPatternPredicate, 23,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLATT), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   19, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLATT), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   0, 
  48, 
   OPC_CheckChild0Integer, 66|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 19, 
    OPC_CheckPatternPredicate, 23,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLAWB), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   19, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLAWB), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   0, 
  48, 
   OPC_CheckChild0Integer, 68|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_Scope, 19, 
    OPC_CheckPatternPredicate, 23,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::SMLAWT), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   19, 
    OPC_CheckPatternPredicate, 2,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2SMLAWT), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   0, 
  23, 
   OPC_CheckChild0Integer, 40|128,36, 
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::i32,
   OPC_CheckPatternPredicate, 24,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2TT), 0,
                 MVT::i32, 3, 0, 1, 2, 
  23, 
   OPC_CheckChild0Integer, 46|128,36, 
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::i32,
   OPC_CheckPatternPredicate, 24,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2TTT), 0,
                 MVT::i32, 3, 0, 1, 2, 
  23, 
   OPC_CheckChild0Integer, 42|128,36, 
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::i32,
   OPC_CheckPatternPredicate, 24,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2TTA), 0,
                 MVT::i32, 3, 0, 1, 2, 
  23, 
   OPC_CheckChild0Integer, 44|128,36, 
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::i32,
   OPC_CheckPatternPredicate, 24,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2TTAT), 0,
                 MVT::i32, 3, 0, 1, 2, 
  23, 
   OPC_CheckChild0Integer, 88|128,37, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_SQRSHR), 0,
                 MVT::i32, 4, 0, 1, 2, 3, 
  23, 
   OPC_CheckChild0Integer, 102|128,37, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 20,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_UQRSHL), 0,
                 MVT::i32, 4, 0, 1, 2, 3, 
  82, 
   OPC_CheckChild0Integer, 32|128,37, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 24, 
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINAVs8), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   24, 
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINAVs16), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   24, 
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINAVs32), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   0, 
  82, 
   OPC_CheckChild0Integer, 34|128,37, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 24, 
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINAVs8), 0,
                  MVT::i32, 5, 0, 1, 3, 2, 4, 
   24, 
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINAVs16), 0,
                  MVT::i32, 5, 0, 1, 3, 2, 4, 
   24, 
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINAVs32), 0,
                  MVT::i32, 5, 0, 1, 3, 2, 4, 
   0, 
  82, 
   OPC_CheckChild0Integer, 14|128,37, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 24, 
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXAVs8), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   24, 
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXAVs16), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   24, 
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXAVs32), 0,
                  MVT::i32, 5, 0, 1, 2, 3, 4, 
   0, 
  82, 
   OPC_CheckChild0Integer, 16|128,37, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 24, 
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXAVs8), 0,
                  MVT::i32, 5, 0, 1, 3, 2, 4, 
   24, 
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXAVs16), 0,
                  MVT::i32, 5, 0, 1, 3, 2, 4, 
   24, 
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXAVs32), 0,
                  MVT::i32, 5, 0, 1, 3, 2, 4, 
   0, 
  61, 
   OPC_CheckChild0Integer, 0|128,40, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 7,
   OPC_EmitInteger, MVT::i64, 0, 
   OPC_EmitStringInteger, MVT::i32, ARM::SPRRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f32, 2, 0, 2, 
   OPC_EmitStringInteger, MVT::i32, ARM::ssub_0,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                 MVT::v16i8, 3, 1, 3, 4, 
   OPC_EmitNode1, TARGET_VAL(ARM::SHA1H), 0,
                 MVT::v16i8, 1, 5, 
   OPC_EmitStringInteger, MVT::i32, ARM::ssub_0,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                 MVT::f32, 2, 6, 7, 
   OPC_EmitStringInteger, MVT::i32, ARM::GPRRegClassID,
   OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::i32, 2, 8, 9, 
  45, 
   OPC_CheckChild0Integer, 122|128,35, 
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_SwitchType , 12, MVT::f32,
    OPC_CheckPatternPredicate, 25,
    OPC_EmitConvertToTarget, 1,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX1_fpsp), 0,
                  MVT::f32, 2, 0, 2, 
   12, MVT::f64,
    OPC_CheckPatternPredicate, 25,
    OPC_EmitConvertToTarget, 1,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX1_fpdp), 0,
                  MVT::f64, 2, 0, 2, 
   0,
  60, 
   OPC_CheckChild0Integer, 124|128,35, 
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_Scope, 23, 
    OPC_CheckChild2Type, MVT::f32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate, 25,
    OPC_EmitConvertToTarget, 2,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX1A_fpsp), 0,
                  MVT::f32, 3, 0, 1, 3, 
   23, 
    OPC_CheckChild2Type, MVT::f64,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate, 25,
    OPC_EmitConvertToTarget, 2,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX1A_fpdp), 0,
                  MVT::f64, 3, 0, 1, 3, 
   0, 
  60, 
   OPC_CheckChild0Integer, 6|128,36, 
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_Scope, 23, 
    OPC_CheckChild2Type, MVT::f32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckType, MVT::f32,
    OPC_CheckPatternPredicate, 25,
    OPC_EmitConvertToTarget, 2,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX2_fpsp), 0,
                  MVT::f32, 3, 0, 1, 3, 
   23, 
    OPC_CheckChild2Type, MVT::f64,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_CheckType, MVT::f64,
    OPC_CheckPatternPredicate, 25,
    OPC_EmitConvertToTarget, 2,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX2_fpdp), 0,
                  MVT::f64, 3, 0, 1, 3, 
   0, 
  68, 
   OPC_CheckChild0Integer, 8|128,36, 
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_Scope, 27, 
    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, 25,
    OPC_EmitConvertToTarget, 3,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX2A_fpsp), 0,
                  MVT::f32, 4, 0, 1, 2, 4, 
   27, 
    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, 25,
    OPC_EmitConvertToTarget, 3,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX2A_fpdp), 0,
                  MVT::f64, 4, 0, 1, 2, 4, 
   0, 
  68, 
   OPC_CheckChild0Integer, 18|128,36, 
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_Scope, 27, 
    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, 25,
    OPC_EmitConvertToTarget, 3,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX3_fpsp), 0,
                  MVT::f32, 4, 0, 1, 2, 4, 
   27, 
    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, 25,
    OPC_EmitConvertToTarget, 3,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX3_fpdp), 0,
                  MVT::f64, 4, 0, 1, 2, 4, 
   0, 
  76, 
   OPC_CheckChild0Integer, 20|128,36, 
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_Scope, 31, 
    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, 25,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX3A_fpsp), 0,
                  MVT::f32, 5, 0, 1, 2, 3, 5, 
   31, 
    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, 25,
    OPC_EmitConvertToTarget, 4,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX3A_fpdp), 0,
                  MVT::f64, 5, 0, 1, 2, 3, 5, 
   0, 
  97, 
   OPC_CheckChild0Integer, 78|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::f16,
    OPC_CheckChild1Type, MVT::f16,
    OPC_CheckPatternPredicate, 26,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTNH), 0,
                  MVT::f16, 1, 0, 
   11, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_CheckPatternPredicate, 27,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTNS), 0,
                  MVT::f32, 1, 0, 
   11, MVT::f64,
    OPC_CheckChild1Type, MVT::f64,
    OPC_CheckPatternPredicate, 28,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTND), 0,
                  MVT::f64, 1, 0, 
   11, MVT::v2f32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTNNDf), 0,
                  MVT::v2f32, 1, 0, 
   11, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTNNQf), 0,
                  MVT::v4f32, 1, 0, 
   11, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTNNDh), 0,
                  MVT::v4f16, 1, 0, 
   11, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTNNQh), 0,
                  MVT::v8f16, 1, 0, 
   0,
  46, 
   OPC_CheckChild0Integer, 52|128,43, 
   OPC_RecordChild1,
   OPC_Scope, 19, 
    OPC_CheckChild1Type, MVT::f64,
    OPC_CheckPatternPredicate, 31,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VTOSIRD), 0,
                  MVT::f32, 3, 0, 1, 2, 
   19, 
    OPC_CheckChild1Type, MVT::f32,
    OPC_CheckPatternPredicate, 32,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VTOSIRS), 0,
                  MVT::f32, 3, 0, 1, 2, 
   0, 
  46, 
   OPC_CheckChild0Integer, 54|128,43, 
   OPC_RecordChild1,
   OPC_Scope, 19, 
    OPC_CheckChild1Type, MVT::f64,
    OPC_CheckPatternPredicate, 31,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VTOUIRD), 0,
                  MVT::f32, 3, 0, 1, 2, 
   19, 
    OPC_CheckChild1Type, MVT::f32,
    OPC_CheckPatternPredicate, 32,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VTOUIRS), 0,
                  MVT::f32, 3, 0, 1, 2, 
   0, 
  108, 
   OPC_CheckChild0Integer, 40|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 49, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::i32, 2, 0, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::MVE_VMINNMVf32), 0,
                  MVT::i32, 5, 3, 1, 4, 5, 6, 
    OPC_EmitStringInteger, MVT::i32, ARM::SPRRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f32, 2, 7, 8, 
   49, MVT::f16,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::i32, 2, 0, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::MVE_VMINNMVf16), 0,
                  MVT::i32, 5, 3, 1, 4, 5, 6, 
    OPC_EmitStringInteger, MVT::i32, ARM::HPRRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f16, 2, 7, 8, 
   0,
  108, 
   OPC_CheckChild0Integer, 42|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 49, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::i32, 2, 0, 3, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::MVE_VMINNMVf32), 0,
                  MVT::i32, 5, 4, 1, 5, 2, 6, 
    OPC_EmitStringInteger, MVT::i32, ARM::SPRRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f32, 2, 7, 8, 
   49, MVT::f16,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::i32, 2, 0, 3, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::MVE_VMINNMVf16), 0,
                  MVT::i32, 5, 4, 1, 5, 2, 6, 
    OPC_EmitStringInteger, MVT::i32, ARM::HPRRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f16, 2, 7, 8, 
   0,
  108, 
   OPC_CheckChild0Integer, 22|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 49, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::i32, 2, 0, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::MVE_VMAXNMVf32), 0,
                  MVT::i32, 5, 3, 1, 4, 5, 6, 
    OPC_EmitStringInteger, MVT::i32, ARM::SPRRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f32, 2, 7, 8, 
   49, MVT::f16,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::i32, 2, 0, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::MVE_VMAXNMVf16), 0,
                  MVT::i32, 5, 3, 1, 4, 5, 6, 
    OPC_EmitStringInteger, MVT::i32, ARM::HPRRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f16, 2, 7, 8, 
   0,
  108, 
   OPC_CheckChild0Integer, 24|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 49, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::i32, 2, 0, 3, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::MVE_VMAXNMVf32), 0,
                  MVT::i32, 5, 4, 1, 5, 2, 6, 
    OPC_EmitStringInteger, MVT::i32, ARM::SPRRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f32, 2, 7, 8, 
   49, MVT::f16,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::i32, 2, 0, 3, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::MVE_VMAXNMVf16), 0,
                  MVT::i32, 5, 4, 1, 5, 2, 6, 
    OPC_EmitStringInteger, MVT::i32, ARM::HPRRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f16, 2, 7, 8, 
   0,
  108, 
   OPC_CheckChild0Integer, 36|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 49, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::i32, 2, 0, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::MVE_VMINNMAVf32), 0,
                  MVT::i32, 5, 3, 1, 4, 5, 6, 
    OPC_EmitStringInteger, MVT::i32, ARM::SPRRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f32, 2, 7, 8, 
   49, MVT::f16,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::i32, 2, 0, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::MVE_VMINNMAVf16), 0,
                  MVT::i32, 5, 3, 1, 4, 5, 6, 
    OPC_EmitStringInteger, MVT::i32, ARM::HPRRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f16, 2, 7, 8, 
   0,
  108, 
   OPC_CheckChild0Integer, 38|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 49, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::i32, 2, 0, 3, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::MVE_VMINNMAVf32), 0,
                  MVT::i32, 5, 4, 1, 5, 2, 6, 
    OPC_EmitStringInteger, MVT::i32, ARM::SPRRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f32, 2, 7, 8, 
   49, MVT::f16,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::i32, 2, 0, 3, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::MVE_VMINNMAVf16), 0,
                  MVT::i32, 5, 4, 1, 5, 2, 6, 
    OPC_EmitStringInteger, MVT::i32, ARM::HPRRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f16, 2, 7, 8, 
   0,
  108, 
   OPC_CheckChild0Integer, 18|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 49, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::i32, 2, 0, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::MVE_VMAXNMAVf32), 0,
                  MVT::i32, 5, 3, 1, 4, 5, 6, 
    OPC_EmitStringInteger, MVT::i32, ARM::SPRRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f32, 2, 7, 8, 
   49, MVT::f16,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::i32, 2, 0, 2, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::MVE_VMAXNMAVf16), 0,
                  MVT::i32, 5, 3, 1, 4, 5, 6, 
    OPC_EmitStringInteger, MVT::i32, ARM::HPRRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f16, 2, 7, 8, 
   0,
  108, 
   OPC_CheckChild0Integer, 20|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 49, MVT::f32,
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::i32, 2, 0, 3, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::MVE_VMAXNMAVf32), 0,
                  MVT::i32, 5, 4, 1, 5, 2, 6, 
    OPC_EmitStringInteger, MVT::i32, ARM::SPRRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f32, 2, 7, 8, 
   49, MVT::f16,
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitStringInteger, MVT::i32, ARM::rGPRRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::i32, 2, 0, 3, 
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::MVE_VMAXNMAVf16), 0,
                  MVT::i32, 5, 4, 1, 5, 2, 6, 
    OPC_EmitStringInteger, MVT::i32, ARM::HPRRegClassID,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::f16, 2, 7, 8, 
   0,
  124|128,11, 
   OPC_CheckChild0Integer, 80|128,39, 
   OPC_RecordChild1,
   OPC_Scope, 121|128,5, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 36,
    OPC_MoveParent,
    OPC_Scope, 45|128,2, 
     OPC_CheckChild4Integer, 0, 
     OPC_MoveChild5,
     OPC_Scope, 18|128,1, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 69, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild, 8,
       OPC_Scope, 28, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHRNi16bh), 0,
                      MVT::v16i8, 6, 0, 1, 3, 4, 5, 6, 
       28, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHRNi16th), 0,
                      MVT::v16i8, 6, 0, 1, 3, 4, 5, 6, 
       0, 
      69, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_MoveChild, 8,
       OPC_Scope, 28, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHRNi16bh), 0,
                      MVT::v16i8, 6, 0, 1, 3, 4, 5, 6, 
       28, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHRNi16th), 0,
                      MVT::v16i8, 6, 0, 1, 3, 4, 5, 6, 
       0, 
      0, 
     18|128,1, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 69, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild, 8,
       OPC_Scope, 28, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHRNi16bh), 0,
                      MVT::v16i8, 6, 0, 1, 3, 4, 5, 6, 
       28, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHRNi16th), 0,
                      MVT::v16i8, 6, 0, 1, 3, 4, 5, 6, 
       0, 
      69, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_MoveChild, 8,
       OPC_Scope, 28, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHRNi16bh), 0,
                      MVT::v16i8, 6, 0, 1, 3, 4, 5, 6, 
       28, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHRNi16th), 0,
                      MVT::v16i8, 6, 0, 1, 3, 4, 5, 6, 
       0, 
      0, 
     0, 
    57|128,3, 
     OPC_CheckChild4Integer, 2, 
     OPC_MoveChild5,
     OPC_Scope, 88|128,1, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 69, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild, 8,
       OPC_Scope, 28, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHRNbhs16), 0,
                      MVT::v16i8, 6, 0, 1, 3, 4, 5, 6, 
       28, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHRNths16), 0,
                      MVT::v16i8, 6, 0, 1, 3, 4, 5, 6, 
       0, 
      10|128,1, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_Scope, 65, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_MoveChild, 8,
        OPC_Scope, 28, 
         OPC_CheckInteger, 0, 
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHRNbhu16), 0,
                       MVT::v16i8, 6, 0, 1, 3, 4, 5, 6, 
        28, 
         OPC_CheckInteger, 2, 
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHRNthu16), 0,
                       MVT::v16i8, 6, 0, 1, 3, 4, 5, 6, 
        0, 
       65, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_MoveChild, 8,
        OPC_Scope, 28, 
         OPC_CheckInteger, 0, 
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHRUNs16bh), 0,
                       MVT::v16i8, 6, 0, 1, 3, 4, 5, 6, 
        28, 
         OPC_CheckInteger, 2, 
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHRUNs16th), 0,
                       MVT::v16i8, 6, 0, 1, 3, 4, 5, 6, 
        0, 
       0, 
      0, 
     88|128,1, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 69, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild, 8,
       OPC_Scope, 28, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHRNbhs16), 0,
                      MVT::v16i8, 6, 0, 1, 3, 4, 5, 6, 
       28, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHRNths16), 0,
                      MVT::v16i8, 6, 0, 1, 3, 4, 5, 6, 
       0, 
      10|128,1, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_Scope, 65, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_MoveChild, 8,
        OPC_Scope, 28, 
         OPC_CheckInteger, 0, 
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHRNbhu16), 0,
                       MVT::v16i8, 6, 0, 1, 3, 4, 5, 6, 
        28, 
         OPC_CheckInteger, 2, 
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHRNthu16), 0,
                       MVT::v16i8, 6, 0, 1, 3, 4, 5, 6, 
        0, 
       65, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_MoveChild, 8,
        OPC_Scope, 28, 
         OPC_CheckInteger, 0, 
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHRUNs16bh), 0,
                       MVT::v16i8, 6, 0, 1, 3, 4, 5, 6, 
        28, 
         OPC_CheckInteger, 2, 
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHRUNs16th), 0,
                       MVT::v16i8, 6, 0, 1, 3, 4, 5, 6, 
        0, 
       0, 
      0, 
     0, 
    0, 
   121|128,5, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_Scope, 45|128,2, 
     OPC_CheckChild4Integer, 0, 
     OPC_MoveChild5,
     OPC_Scope, 18|128,1, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 69, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild, 8,
       OPC_Scope, 28, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHRNi32bh), 0,
                      MVT::v8i16, 6, 0, 1, 3, 4, 5, 6, 
       28, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHRNi32th), 0,
                      MVT::v8i16, 6, 0, 1, 3, 4, 5, 6, 
       0, 
      69, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_MoveChild, 8,
       OPC_Scope, 28, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHRNi32bh), 0,
                      MVT::v8i16, 6, 0, 1, 3, 4, 5, 6, 
       28, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHRNi32th), 0,
                      MVT::v8i16, 6, 0, 1, 3, 4, 5, 6, 
       0, 
      0, 
     18|128,1, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 69, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild, 8,
       OPC_Scope, 28, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHRNi32bh), 0,
                      MVT::v8i16, 6, 0, 1, 3, 4, 5, 6, 
       28, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHRNi32th), 0,
                      MVT::v8i16, 6, 0, 1, 3, 4, 5, 6, 
       0, 
      69, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_MoveChild, 8,
       OPC_Scope, 28, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHRNi32bh), 0,
                      MVT::v8i16, 6, 0, 1, 3, 4, 5, 6, 
       28, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHRNi32th), 0,
                      MVT::v8i16, 6, 0, 1, 3, 4, 5, 6, 
       0, 
      0, 
     0, 
    57|128,3, 
     OPC_CheckChild4Integer, 2, 
     OPC_MoveChild5,
     OPC_Scope, 88|128,1, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 69, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild, 8,
       OPC_Scope, 28, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHRNbhs32), 0,
                      MVT::v8i16, 6, 0, 1, 3, 4, 5, 6, 
       28, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHRNths32), 0,
                      MVT::v8i16, 6, 0, 1, 3, 4, 5, 6, 
       0, 
      10|128,1, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_Scope, 65, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_MoveChild, 8,
        OPC_Scope, 28, 
         OPC_CheckInteger, 0, 
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHRNbhu32), 0,
                       MVT::v8i16, 6, 0, 1, 3, 4, 5, 6, 
        28, 
         OPC_CheckInteger, 2, 
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHRNthu32), 0,
                       MVT::v8i16, 6, 0, 1, 3, 4, 5, 6, 
        0, 
       65, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_MoveChild, 8,
        OPC_Scope, 28, 
         OPC_CheckInteger, 0, 
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHRUNs32bh), 0,
                       MVT::v8i16, 6, 0, 1, 3, 4, 5, 6, 
        28, 
         OPC_CheckInteger, 2, 
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHRUNs32th), 0,
                       MVT::v8i16, 6, 0, 1, 3, 4, 5, 6, 
        0, 
       0, 
      0, 
     88|128,1, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 69, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild, 8,
       OPC_Scope, 28, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHRNbhs32), 0,
                      MVT::v8i16, 6, 0, 1, 3, 4, 5, 6, 
       28, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHRNths32), 0,
                      MVT::v8i16, 6, 0, 1, 3, 4, 5, 6, 
       0, 
      10|128,1, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_Scope, 65, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_MoveChild, 8,
        OPC_Scope, 28, 
         OPC_CheckInteger, 0, 
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHRNbhu32), 0,
                       MVT::v8i16, 6, 0, 1, 3, 4, 5, 6, 
        28, 
         OPC_CheckInteger, 2, 
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHRNthu32), 0,
                       MVT::v8i16, 6, 0, 1, 3, 4, 5, 6, 
        0, 
       65, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_MoveChild, 8,
        OPC_Scope, 28, 
         OPC_CheckInteger, 0, 
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHRUNs32bh), 0,
                       MVT::v8i16, 6, 0, 1, 3, 4, 5, 6, 
        28, 
         OPC_CheckInteger, 2, 
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 0, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHRUNs32th), 0,
                       MVT::v8i16, 6, 0, 1, 3, 4, 5, 6, 
        0, 
       0, 
      0, 
     0, 
    0, 
   0, 
  116|128,12, 
   OPC_CheckChild0Integer, 82|128,39, 
   OPC_RecordChild1,
   OPC_Scope, 53|128,6, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 36,
    OPC_MoveParent,
    OPC_Scope, 69|128,2, 
     OPC_CheckChild4Integer, 0, 
     OPC_MoveChild5,
     OPC_Scope, 30|128,1, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 75, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild, 8,
       OPC_Scope, 31, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_MoveChild, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v8i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHRNi16bh), 0,
                      MVT::v16i8, 6, 0, 1, 4, 5, 3, 6, 
       31, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_MoveChild, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v8i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHRNi16th), 0,
                      MVT::v16i8, 6, 0, 1, 4, 5, 3, 6, 
       0, 
      75, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_MoveChild, 8,
       OPC_Scope, 31, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_MoveChild, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v8i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHRNi16bh), 0,
                      MVT::v16i8, 6, 0, 1, 4, 5, 3, 6, 
       31, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_MoveChild, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v8i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHRNi16th), 0,
                      MVT::v16i8, 6, 0, 1, 4, 5, 3, 6, 
       0, 
      0, 
     30|128,1, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 75, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild, 8,
       OPC_Scope, 31, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_MoveChild, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v8i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHRNi16bh), 0,
                      MVT::v16i8, 6, 0, 1, 4, 5, 3, 6, 
       31, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_MoveChild, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v8i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHRNi16th), 0,
                      MVT::v16i8, 6, 0, 1, 4, 5, 3, 6, 
       0, 
      75, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_MoveChild, 8,
       OPC_Scope, 31, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_MoveChild, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v8i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHRNi16bh), 0,
                      MVT::v16i8, 6, 0, 1, 4, 5, 3, 6, 
       31, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_MoveChild, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v8i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHRNi16th), 0,
                      MVT::v16i8, 6, 0, 1, 4, 5, 3, 6, 
       0, 
      0, 
     0, 
    93|128,3, 
     OPC_CheckChild4Integer, 2, 
     OPC_MoveChild5,
     OPC_Scope, 106|128,1, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 75, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild, 8,
       OPC_Scope, 31, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_MoveChild, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v8i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHRNbhs16), 0,
                      MVT::v16i8, 6, 0, 1, 4, 5, 3, 6, 
       31, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_MoveChild, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v8i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHRNths16), 0,
                      MVT::v16i8, 6, 0, 1, 4, 5, 3, 6, 
       0, 
      22|128,1, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_Scope, 71, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_MoveChild, 8,
        OPC_Scope, 31, 
         OPC_CheckInteger, 0, 
         OPC_MoveParent,
         OPC_MoveChild, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v8i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHRNbhu16), 0,
                       MVT::v16i8, 6, 0, 1, 4, 5, 3, 6, 
        31, 
         OPC_CheckInteger, 2, 
         OPC_MoveParent,
         OPC_MoveChild, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v8i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHRNthu16), 0,
                       MVT::v16i8, 6, 0, 1, 4, 5, 3, 6, 
        0, 
       71, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_MoveChild, 8,
        OPC_Scope, 31, 
         OPC_CheckInteger, 0, 
         OPC_MoveParent,
         OPC_MoveChild, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v8i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHRUNs16bh), 0,
                       MVT::v16i8, 6, 0, 1, 4, 5, 3, 6, 
        31, 
         OPC_CheckInteger, 2, 
         OPC_MoveParent,
         OPC_MoveChild, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v8i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHRUNs16th), 0,
                       MVT::v16i8, 6, 0, 1, 4, 5, 3, 6, 
        0, 
       0, 
      0, 
     106|128,1, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 75, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild, 8,
       OPC_Scope, 31, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_MoveChild, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v8i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHRNbhs16), 0,
                      MVT::v16i8, 6, 0, 1, 4, 5, 3, 6, 
       31, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_MoveChild, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v8i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v16i8,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHRNths16), 0,
                      MVT::v16i8, 6, 0, 1, 4, 5, 3, 6, 
       0, 
      22|128,1, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_Scope, 71, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_MoveChild, 8,
        OPC_Scope, 31, 
         OPC_CheckInteger, 0, 
         OPC_MoveParent,
         OPC_MoveChild, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v8i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHRNbhu16), 0,
                       MVT::v16i8, 6, 0, 1, 4, 5, 3, 6, 
        31, 
         OPC_CheckInteger, 2, 
         OPC_MoveParent,
         OPC_MoveChild, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v8i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHRNthu16), 0,
                       MVT::v16i8, 6, 0, 1, 4, 5, 3, 6, 
        0, 
       71, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_MoveChild, 8,
        OPC_Scope, 31, 
         OPC_CheckInteger, 0, 
         OPC_MoveParent,
         OPC_MoveChild, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v8i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHRUNs16bh), 0,
                       MVT::v16i8, 6, 0, 1, 4, 5, 3, 6, 
        31, 
         OPC_CheckInteger, 2, 
         OPC_MoveParent,
         OPC_MoveChild, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v8i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v16i8,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHRUNs16th), 0,
                       MVT::v16i8, 6, 0, 1, 4, 5, 3, 6, 
        0, 
       0, 
      0, 
     0, 
    0, 
   53|128,6, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_Scope, 69|128,2, 
     OPC_CheckChild4Integer, 0, 
     OPC_MoveChild5,
     OPC_Scope, 30|128,1, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 75, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild, 8,
       OPC_Scope, 31, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_MoveChild, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v4i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHRNi32bh), 0,
                      MVT::v8i16, 6, 0, 1, 4, 5, 3, 6, 
       31, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_MoveChild, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v4i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHRNi32th), 0,
                      MVT::v8i16, 6, 0, 1, 4, 5, 3, 6, 
       0, 
      75, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_MoveChild, 8,
       OPC_Scope, 31, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_MoveChild, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v4i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHRNi32bh), 0,
                      MVT::v8i16, 6, 0, 1, 4, 5, 3, 6, 
       31, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_MoveChild, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v4i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHRNi32th), 0,
                      MVT::v8i16, 6, 0, 1, 4, 5, 3, 6, 
       0, 
      0, 
     30|128,1, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 75, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild, 8,
       OPC_Scope, 31, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_MoveChild, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v4i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHRNi32bh), 0,
                      MVT::v8i16, 6, 0, 1, 4, 5, 3, 6, 
       31, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_MoveChild, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v4i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHRNi32th), 0,
                      MVT::v8i16, 6, 0, 1, 4, 5, 3, 6, 
       0, 
      75, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_MoveChild, 8,
       OPC_Scope, 31, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_MoveChild, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v4i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHRNi32bh), 0,
                      MVT::v8i16, 6, 0, 1, 4, 5, 3, 6, 
       31, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_MoveChild, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v4i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHRNi32th), 0,
                      MVT::v8i16, 6, 0, 1, 4, 5, 3, 6, 
       0, 
      0, 
     0, 
    93|128,3, 
     OPC_CheckChild4Integer, 2, 
     OPC_MoveChild5,
     OPC_Scope, 106|128,1, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 75, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild, 8,
       OPC_Scope, 31, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_MoveChild, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v4i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHRNbhs32), 0,
                      MVT::v8i16, 6, 0, 1, 4, 5, 3, 6, 
       31, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_MoveChild, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v4i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHRNths32), 0,
                      MVT::v8i16, 6, 0, 1, 4, 5, 3, 6, 
       0, 
      22|128,1, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_Scope, 71, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_MoveChild, 8,
        OPC_Scope, 31, 
         OPC_CheckInteger, 0, 
         OPC_MoveParent,
         OPC_MoveChild, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v4i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHRNbhu32), 0,
                       MVT::v8i16, 6, 0, 1, 4, 5, 3, 6, 
        31, 
         OPC_CheckInteger, 2, 
         OPC_MoveParent,
         OPC_MoveChild, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v4i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHRNthu32), 0,
                       MVT::v8i16, 6, 0, 1, 4, 5, 3, 6, 
        0, 
       71, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_MoveChild, 8,
        OPC_Scope, 31, 
         OPC_CheckInteger, 0, 
         OPC_MoveParent,
         OPC_MoveChild, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v4i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHRUNs32bh), 0,
                       MVT::v8i16, 6, 0, 1, 4, 5, 3, 6, 
        31, 
         OPC_CheckInteger, 2, 
         OPC_MoveParent,
         OPC_MoveChild, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v4i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHRUNs32th), 0,
                       MVT::v8i16, 6, 0, 1, 4, 5, 3, 6, 
        0, 
       0, 
      0, 
     106|128,1, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 75, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_MoveChild, 8,
       OPC_Scope, 31, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_MoveChild, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v4i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHRNbhs32), 0,
                      MVT::v8i16, 6, 0, 1, 4, 5, 3, 6, 
       31, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_MoveChild, 9,
        OPC_RecordNode,
        OPC_CheckType, MVT::v4i1,
        OPC_MoveParent,
        OPC_CheckType, MVT::v8i16,
        OPC_EmitConvertToTarget, 2,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHRNths32), 0,
                      MVT::v8i16, 6, 0, 1, 4, 5, 3, 6, 
       0, 
      22|128,1, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_MoveChild7,
       OPC_Scope, 71, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_MoveChild, 8,
        OPC_Scope, 31, 
         OPC_CheckInteger, 0, 
         OPC_MoveParent,
         OPC_MoveChild, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v4i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHRNbhu32), 0,
                       MVT::v8i16, 6, 0, 1, 4, 5, 3, 6, 
        31, 
         OPC_CheckInteger, 2, 
         OPC_MoveParent,
         OPC_MoveChild, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v4i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHRNthu32), 0,
                       MVT::v8i16, 6, 0, 1, 4, 5, 3, 6, 
        0, 
       71, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_MoveChild, 8,
        OPC_Scope, 31, 
         OPC_CheckInteger, 0, 
         OPC_MoveParent,
         OPC_MoveChild, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v4i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHRUNs32bh), 0,
                       MVT::v8i16, 6, 0, 1, 4, 5, 3, 6, 
        31, 
         OPC_CheckInteger, 2, 
         OPC_MoveParent,
         OPC_MoveChild, 9,
         OPC_RecordNode,
         OPC_CheckType, MVT::v4i1,
         OPC_MoveParent,
         OPC_CheckType, MVT::v8i16,
         OPC_EmitConvertToTarget, 2,
         OPC_EmitInteger, MVT::i32, 2, 
         OPC_EmitRegister, MVT::i32, 0 ,
         OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHRUNs32th), 0,
                       MVT::v8i16, 6, 0, 1, 4, 5, 3, 6, 
        0, 
       0, 
      0, 
     0, 
    0, 
   0, 
  66|128,4, 
   OPC_CheckChild0Integer, 76|128,39, 
   OPC_RecordChild1,
   OPC_SwitchType , 27|128,2, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 17|128,1, 
     OPC_RecordChild2,
     OPC_Scope, 70, 
      OPC_CheckChild3Integer, 0, 
      OPC_Scope, 32, 
       OPC_CheckChild4Integer, 0, 
       OPC_CheckComplexPat, /*CP*/6, /*#*/1,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_imms8bh), 0,
                     MVT::v8i16, 6, 0, 2, 3, 4, 5, 6, 
      32, 
       OPC_CheckChild4Integer, 2, 
       OPC_CheckComplexPat, /*CP*/6, /*#*/1,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_imms8th), 0,
                     MVT::v8i16, 6, 0, 2, 3, 4, 5, 6, 
      0, 
     70, 
      OPC_CheckChild3Integer, 2, 
      OPC_Scope, 32, 
       OPC_CheckChild4Integer, 0, 
       OPC_CheckComplexPat, /*CP*/6, /*#*/1,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_immu8bh), 0,
                     MVT::v8i16, 6, 0, 2, 3, 4, 5, 6, 
      32, 
       OPC_CheckChild4Integer, 2, 
       OPC_CheckComplexPat, /*CP*/6, /*#*/1,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_immu8th), 0,
                     MVT::v8i16, 6, 0, 2, 3, 4, 5, 6, 
      0, 
     0, 
    2|128,1, 
     OPC_CheckChild2Integer, 16, 
     OPC_Scope, 62, 
      OPC_CheckChild3Integer, 0, 
      OPC_Scope, 28, 
       OPC_CheckChild4Integer, 0, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_lws8bh), 0,
                     MVT::v8i16, 5, 0, 1, 2, 3, 4, 
      28, 
       OPC_CheckChild4Integer, 2, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_lws8th), 0,
                     MVT::v8i16, 5, 0, 1, 2, 3, 4, 
      0, 
     62, 
      OPC_CheckChild3Integer, 2, 
      OPC_Scope, 28, 
       OPC_CheckChild4Integer, 0, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_lwu8bh), 0,
                     MVT::v8i16, 5, 0, 1, 2, 3, 4, 
      28, 
       OPC_CheckChild4Integer, 2, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_lwu8th), 0,
                     MVT::v8i16, 5, 0, 1, 2, 3, 4, 
      0, 
     0, 
    0, 
   27|128,2, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 17|128,1, 
     OPC_RecordChild2,
     OPC_Scope, 70, 
      OPC_CheckChild3Integer, 0, 
      OPC_Scope, 32, 
       OPC_CheckChild4Integer, 0, 
       OPC_CheckComplexPat, /*CP*/7, /*#*/1,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_imms16bh), 0,
                     MVT::v4i32, 6, 0, 2, 3, 4, 5, 6, 
      32, 
       OPC_CheckChild4Integer, 2, 
       OPC_CheckComplexPat, /*CP*/7, /*#*/1,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_imms16th), 0,
                     MVT::v4i32, 6, 0, 2, 3, 4, 5, 6, 
      0, 
     70, 
      OPC_CheckChild3Integer, 2, 
      OPC_Scope, 32, 
       OPC_CheckChild4Integer, 0, 
       OPC_CheckComplexPat, /*CP*/7, /*#*/1,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_immu16bh), 0,
                     MVT::v4i32, 6, 0, 2, 3, 4, 5, 6, 
      32, 
       OPC_CheckChild4Integer, 2, 
       OPC_CheckComplexPat, /*CP*/7, /*#*/1,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_immu16th), 0,
                     MVT::v4i32, 6, 0, 2, 3, 4, 5, 6, 
      0, 
     0, 
    2|128,1, 
     OPC_CheckChild2Integer, 32, 
     OPC_Scope, 62, 
      OPC_CheckChild3Integer, 0, 
      OPC_Scope, 28, 
       OPC_CheckChild4Integer, 0, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_lws16bh), 0,
                     MVT::v4i32, 5, 0, 1, 2, 3, 4, 
      28, 
       OPC_CheckChild4Integer, 2, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_lws16th), 0,
                     MVT::v4i32, 5, 0, 1, 2, 3, 4, 
      0, 
     62, 
      OPC_CheckChild3Integer, 2, 
      OPC_Scope, 28, 
       OPC_CheckChild4Integer, 0, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_lwu16bh), 0,
                     MVT::v4i32, 5, 0, 1, 2, 3, 4, 
      28, 
       OPC_CheckChild4Integer, 2, 
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_lwu16th), 0,
                     MVT::v4i32, 5, 0, 1, 2, 3, 4, 
      0, 
     0, 
    0, 
   0,
  16|128,4, 
   OPC_CheckChild0Integer, 78|128,39, 
   OPC_RecordChild1,
   OPC_SwitchType , 2|128,2, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 5|128,1, 
     OPC_RecordChild2,
     OPC_Scope, 64, 
      OPC_CheckChild3Integer, 0, 
      OPC_Scope, 29, 
       OPC_CheckChild4Integer, 0, 
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v8i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i16,
       OPC_CheckComplexPat, /*CP*/6, /*#*/1,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_imms8bh), 0,
                     MVT::v8i16, 6, 0, 4, 5, 2, 6, 3, 
      29, 
       OPC_CheckChild4Integer, 2, 
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v8i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i16,
       OPC_CheckComplexPat, /*CP*/6, /*#*/1,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_imms8th), 0,
                     MVT::v8i16, 6, 0, 4, 5, 2, 6, 3, 
      0, 
     64, 
      OPC_CheckChild3Integer, 2, 
      OPC_Scope, 29, 
       OPC_CheckChild4Integer, 0, 
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v8i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i16,
       OPC_CheckComplexPat, /*CP*/6, /*#*/1,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_immu8bh), 0,
                     MVT::v8i16, 6, 0, 4, 5, 2, 6, 3, 
      29, 
       OPC_CheckChild4Integer, 2, 
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v8i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i16,
       OPC_CheckComplexPat, /*CP*/6, /*#*/1,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_immu8th), 0,
                     MVT::v8i16, 6, 0, 4, 5, 2, 6, 3, 
      0, 
     0, 
    118, 
     OPC_CheckChild2Integer, 16, 
     OPC_Scope, 56, 
      OPC_CheckChild3Integer, 0, 
      OPC_Scope, 25, 
       OPC_CheckChild4Integer, 0, 
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v8i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_lws8bh), 0,
                     MVT::v8i16, 5, 0, 3, 1, 4, 2, 
      25, 
       OPC_CheckChild4Integer, 2, 
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v8i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_lws8th), 0,
                     MVT::v8i16, 5, 0, 3, 1, 4, 2, 
      0, 
     56, 
      OPC_CheckChild3Integer, 2, 
      OPC_Scope, 25, 
       OPC_CheckChild4Integer, 0, 
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v8i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_lwu8bh), 0,
                     MVT::v8i16, 5, 0, 3, 1, 4, 2, 
      25, 
       OPC_CheckChild4Integer, 2, 
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v8i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_lwu8th), 0,
                     MVT::v8i16, 5, 0, 3, 1, 4, 2, 
      0, 
     0, 
    0, 
   2|128,2, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 5|128,1, 
     OPC_RecordChild2,
     OPC_Scope, 64, 
      OPC_CheckChild3Integer, 0, 
      OPC_Scope, 29, 
       OPC_CheckChild4Integer, 0, 
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v4i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i32,
       OPC_CheckComplexPat, /*CP*/7, /*#*/1,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_imms16bh), 0,
                     MVT::v4i32, 6, 0, 4, 5, 2, 6, 3, 
      29, 
       OPC_CheckChild4Integer, 2, 
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v4i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i32,
       OPC_CheckComplexPat, /*CP*/7, /*#*/1,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_imms16th), 0,
                     MVT::v4i32, 6, 0, 4, 5, 2, 6, 3, 
      0, 
     64, 
      OPC_CheckChild3Integer, 2, 
      OPC_Scope, 29, 
       OPC_CheckChild4Integer, 0, 
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v4i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i32,
       OPC_CheckComplexPat, /*CP*/7, /*#*/1,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_immu16bh), 0,
                     MVT::v4i32, 6, 0, 4, 5, 2, 6, 3, 
      29, 
       OPC_CheckChild4Integer, 2, 
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v4i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i32,
       OPC_CheckComplexPat, /*CP*/7, /*#*/1,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_immu16th), 0,
                     MVT::v4i32, 6, 0, 4, 5, 2, 6, 3, 
      0, 
     0, 
    118, 
     OPC_CheckChild2Integer, 32, 
     OPC_Scope, 56, 
      OPC_CheckChild3Integer, 0, 
      OPC_Scope, 25, 
       OPC_CheckChild4Integer, 0, 
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v4i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_lws16bh), 0,
                     MVT::v4i32, 5, 0, 3, 1, 4, 2, 
      25, 
       OPC_CheckChild4Integer, 2, 
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v4i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_lws16th), 0,
                     MVT::v4i32, 5, 0, 3, 1, 4, 2, 
      0, 
     56, 
      OPC_CheckChild3Integer, 2, 
      OPC_Scope, 25, 
       OPC_CheckChild4Integer, 0, 
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v4i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_lwu16bh), 0,
                     MVT::v4i32, 5, 0, 3, 1, 4, 2, 
      25, 
       OPC_CheckChild4Integer, 2, 
       OPC_RecordChild5,
       OPC_CheckChild5Type, MVT::v4i1,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHLL_lwu16th), 0,
                     MVT::v4i32, 5, 0, 3, 1, 4, 2, 
      0, 
     0, 
    0, 
   0,
  37|128,7, 
   OPC_CheckChild0Integer, 68|128,39, 
   OPC_RecordChild1,
   OPC_Scope, 51|128,2, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 20|128,1, 
     OPC_CheckChild3Integer, 0, 
     OPC_Scope, 71, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 32, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_by_vecs8), 0,
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
      32, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_by_vecu8), 0,
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     71, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 32, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHL_by_vecs8), 0,
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
      32, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHL_by_vecu8), 0,
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     0, 
    20|128,1, 
     OPC_CheckChild3Integer, 2, 
     OPC_Scope, 71, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 32, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHL_by_vecs8), 0,
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
      32, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHL_by_vecu8), 0,
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     71, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 32, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHL_by_vecs8), 0,
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
      32, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHL_by_vecu8), 0,
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     0, 
    0, 
   51|128,2, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 20|128,1, 
     OPC_CheckChild3Integer, 0, 
     OPC_Scope, 71, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 32, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_by_vecs16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
      32, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_by_vecu16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     71, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 32, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHL_by_vecs16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
      32, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHL_by_vecu16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     0, 
    20|128,1, 
     OPC_CheckChild3Integer, 2, 
     OPC_Scope, 71, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 32, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHL_by_vecs16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
      32, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHL_by_vecu16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     71, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 32, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHL_by_vecs16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
      32, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHL_by_vecu16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     0, 
    0, 
   51|128,2, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 20|128,1, 
     OPC_CheckChild3Integer, 0, 
     OPC_Scope, 71, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 32, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_by_vecs32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
      32, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_by_vecu32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     71, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 32, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHL_by_vecs32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
      32, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHL_by_vecu32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     0, 
    20|128,1, 
     OPC_CheckChild3Integer, 2, 
     OPC_Scope, 71, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 32, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHL_by_vecs32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
      32, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHL_by_vecu32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     71, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 32, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHL_by_vecs32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
      32, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                     MVT::v4i32, 0, 
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHL_by_vecu32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     0, 
    0, 
   0, 
  93|128,6, 
   OPC_CheckChild0Integer, 70|128,39, 
   OPC_RecordChild1,
   OPC_Scope, 27|128,2, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 8|128,1, 
     OPC_CheckChild3Integer, 0, 
     OPC_Scope, 65, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 29, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i8,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_by_vecs8), 0,
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
      29, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i8,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_by_vecu8), 0,
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
      0, 
     65, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 29, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i8,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHL_by_vecs8), 0,
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
      29, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i8,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHL_by_vecu8), 0,
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
      0, 
     0, 
    8|128,1, 
     OPC_CheckChild3Integer, 2, 
     OPC_Scope, 65, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 29, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i8,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHL_by_vecs8), 0,
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
      29, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i8,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHL_by_vecu8), 0,
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
      0, 
     65, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 29, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i8,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHL_by_vecs8), 0,
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
      29, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i8,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHL_by_vecu8), 0,
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
      0, 
     0, 
    0, 
   27|128,2, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 8|128,1, 
     OPC_CheckChild3Integer, 0, 
     OPC_Scope, 65, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 29, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i16,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_by_vecs16), 0,
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
      29, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i16,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_by_vecu16), 0,
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
      0, 
     65, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 29, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i16,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHL_by_vecs16), 0,
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
      29, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i16,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHL_by_vecu16), 0,
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
      0, 
     0, 
    8|128,1, 
     OPC_CheckChild3Integer, 2, 
     OPC_Scope, 65, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 29, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i16,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHL_by_vecs16), 0,
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
      29, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i16,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHL_by_vecu16), 0,
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
      0, 
     65, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 29, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i16,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHL_by_vecs16), 0,
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
      29, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i16,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHL_by_vecu16), 0,
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
      0, 
     0, 
    0, 
   27|128,2, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 8|128,1, 
     OPC_CheckChild3Integer, 0, 
     OPC_Scope, 65, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 29, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i32,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_by_vecs32), 0,
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
      29, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i32,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_by_vecu32), 0,
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
      0, 
     65, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 29, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i32,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHL_by_vecs32), 0,
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
      29, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i32,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHL_by_vecu32), 0,
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
      0, 
     0, 
    8|128,1, 
     OPC_CheckChild3Integer, 2, 
     OPC_Scope, 65, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 29, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i32,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHL_by_vecs32), 0,
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
      29, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i32,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHL_by_vecu32), 0,
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
      0, 
     65, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 29, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i32,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHL_by_vecs32), 0,
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
      29, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i32,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHL_by_vecu32), 0,
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
      0, 
     0, 
    0, 
   0, 
  42|128,6, 
   OPC_CheckChild0Integer, 118|128,38, 
   OPC_RecordChild1,
   OPC_Scope, 10|128,2, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_Scope, 127, 
     OPC_CheckChild4Integer, 0, 
     OPC_MoveChild5,
     OPC_Scope, 60, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 26, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLADHs8), 0,
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
      26, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLSDHs8), 0,
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     60, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 26, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLADHs8), 0,
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
      26, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLSDHs8), 0,
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     0, 
    127, 
     OPC_CheckChild4Integer, 2, 
     OPC_MoveChild5,
     OPC_Scope, 60, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 26, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLADHXs8), 0,
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
      26, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLSDHXs8), 0,
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     60, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 26, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLADHXs8), 0,
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
      26, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLSDHXs8), 0,
                     MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     0, 
    0, 
   10|128,2, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_Scope, 127, 
     OPC_CheckChild4Integer, 0, 
     OPC_MoveChild5,
     OPC_Scope, 60, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 26, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLADHs16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
      26, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLSDHs16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     60, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 26, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLADHs16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
      26, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLSDHs16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     0, 
    127, 
     OPC_CheckChild4Integer, 2, 
     OPC_MoveChild5,
     OPC_Scope, 60, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 26, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLADHXs16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
      26, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLSDHXs16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     60, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 26, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLADHXs16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
      26, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLSDHXs16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     0, 
    0, 
   10|128,2, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_Scope, 127, 
     OPC_CheckChild4Integer, 0, 
     OPC_MoveChild5,
     OPC_Scope, 60, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 26, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLADHs32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
      26, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLSDHs32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     60, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 26, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLADHs32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
      26, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLSDHs32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     0, 
    127, 
     OPC_CheckChild4Integer, 2, 
     OPC_MoveChild5,
     OPC_Scope, 60, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 26, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLADHXs32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
      26, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLSDHXs32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     60, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 26, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLADHXs32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
      26, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLSDHXs32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
      0, 
     0, 
    0, 
   0, 
  42|128,6, 
   OPC_CheckChild0Integer, 120|128,38, 
   OPC_RecordChild1,
   OPC_Scope, 10|128,2, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_Scope, 127, 
     OPC_CheckChild4Integer, 0, 
     OPC_MoveChild5,
     OPC_Scope, 60, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 26, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLADHs8), 0,
                     MVT::v16i8, 6, 0, 1, 2, 4, 3, 5, 
      26, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLSDHs8), 0,
                     MVT::v16i8, 6, 0, 1, 2, 4, 3, 5, 
      0, 
     60, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 26, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLADHs8), 0,
                     MVT::v16i8, 6, 0, 1, 2, 4, 3, 5, 
      26, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLSDHs8), 0,
                     MVT::v16i8, 6, 0, 1, 2, 4, 3, 5, 
      0, 
     0, 
    127, 
     OPC_CheckChild4Integer, 2, 
     OPC_MoveChild5,
     OPC_Scope, 60, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 26, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLADHXs8), 0,
                     MVT::v16i8, 6, 0, 1, 2, 4, 3, 5, 
      26, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLSDHXs8), 0,
                     MVT::v16i8, 6, 0, 1, 2, 4, 3, 5, 
      0, 
     60, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 26, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLADHXs8), 0,
                     MVT::v16i8, 6, 0, 1, 2, 4, 3, 5, 
      26, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLSDHXs8), 0,
                     MVT::v16i8, 6, 0, 1, 2, 4, 3, 5, 
      0, 
     0, 
    0, 
   10|128,2, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_Scope, 127, 
     OPC_CheckChild4Integer, 0, 
     OPC_MoveChild5,
     OPC_Scope, 60, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 26, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLADHs16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 4, 3, 5, 
      26, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLSDHs16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 4, 3, 5, 
      0, 
     60, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 26, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLADHs16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 4, 3, 5, 
      26, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLSDHs16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 4, 3, 5, 
      0, 
     0, 
    127, 
     OPC_CheckChild4Integer, 2, 
     OPC_MoveChild5,
     OPC_Scope, 60, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 26, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLADHXs16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 4, 3, 5, 
      26, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLSDHXs16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 4, 3, 5, 
      0, 
     60, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 26, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLADHXs16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 4, 3, 5, 
      26, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLSDHXs16), 0,
                     MVT::v8i16, 6, 0, 1, 2, 4, 3, 5, 
      0, 
     0, 
    0, 
   10|128,2, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_Scope, 127, 
     OPC_CheckChild4Integer, 0, 
     OPC_MoveChild5,
     OPC_Scope, 60, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 26, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLADHs32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 4, 3, 5, 
      26, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLSDHs32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 4, 3, 5, 
      0, 
     60, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 26, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLADHs32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 4, 3, 5, 
      26, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLSDHs32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 4, 3, 5, 
      0, 
     0, 
    127, 
     OPC_CheckChild4Integer, 2, 
     OPC_MoveChild5,
     OPC_Scope, 60, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 26, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLADHXs32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 4, 3, 5, 
      26, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLSDHXs32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 4, 3, 5, 
      0, 
     60, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 26, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLADHXs32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 4, 3, 5, 
      26, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLSDHXs32), 0,
                     MVT::v4i32, 6, 0, 1, 2, 4, 3, 5, 
      0, 
     0, 
    0, 
   0, 
  2|128,3, 
   OPC_CheckChild0Integer, 8|128,39, 
   OPC_RecordChild1,
   OPC_Scope, 60|128,1, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 59, 
     OPC_CheckChild3Integer, 0, 
     OPC_CheckChild4Integer, 0, 
     OPC_MoveChild5,
     OPC_Scope, 25, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQMOVNs32bh), 0,
                    MVT::v8i16, 5, 0, 1, 2, 3, 4, 
     25, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_CheckType, MVT::v8i16,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQMOVNs32th), 0,
                    MVT::v8i16, 5, 0, 1, 2, 3, 4, 
     0, 
    120, 
     OPC_CheckChild3Integer, 2, 
     OPC_Scope, 57, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQMOVNu32bh), 0,
                     MVT::v8i16, 5, 0, 1, 2, 3, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQMOVNu32th), 0,
                     MVT::v8i16, 5, 0, 1, 2, 3, 4, 
      0, 
     57, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQMOVUNs32bh), 0,
                     MVT::v8i16, 5, 0, 1, 2, 3, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQMOVUNs32th), 0,
                     MVT::v8i16, 5, 0, 1, 2, 3, 4, 
      0, 
     0, 
    0, 
   60|128,1, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 59, 
     OPC_CheckChild3Integer, 0, 
     OPC_CheckChild4Integer, 0, 
     OPC_MoveChild5,
     OPC_Scope, 25, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQMOVNs16bh), 0,
                    MVT::v16i8, 5, 0, 1, 2, 3, 4, 
     25, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_CheckType, MVT::v16i8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQMOVNs16th), 0,
                    MVT::v16i8, 5, 0, 1, 2, 3, 4, 
     0, 
    120, 
     OPC_CheckChild3Integer, 2, 
     OPC_Scope, 57, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQMOVNu16bh), 0,
                     MVT::v16i8, 5, 0, 1, 2, 3, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQMOVNu16th), 0,
                     MVT::v16i8, 5, 0, 1, 2, 3, 4, 
      0, 
     57, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQMOVUNs16bh), 0,
                     MVT::v16i8, 5, 0, 1, 2, 3, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQMOVUNs16th), 0,
                     MVT::v16i8, 5, 0, 1, 2, 3, 4, 
      0, 
     0, 
    0, 
   0, 
  2|128,3, 
   OPC_CheckChild0Integer, 10|128,39, 
   OPC_RecordChild1,
   OPC_Scope, 60|128,1, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 59, 
     OPC_CheckChild3Integer, 0, 
     OPC_CheckChild4Integer, 0, 
     OPC_MoveChild5,
     OPC_Scope, 25, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v4i1,
      OPC_CheckType, MVT::v8i16,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQMOVNs32bh), 0,
                    MVT::v8i16, 5, 0, 1, 3, 2, 4, 
     25, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v4i1,
      OPC_CheckType, MVT::v8i16,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQMOVNs32th), 0,
                    MVT::v8i16, 5, 0, 1, 3, 2, 4, 
     0, 
    120, 
     OPC_CheckChild3Integer, 2, 
     OPC_Scope, 57, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQMOVNu32bh), 0,
                     MVT::v8i16, 5, 0, 1, 3, 2, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQMOVNu32th), 0,
                     MVT::v8i16, 5, 0, 1, 3, 2, 4, 
      0, 
     57, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQMOVUNs32bh), 0,
                     MVT::v8i16, 5, 0, 1, 3, 2, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQMOVUNs32th), 0,
                     MVT::v8i16, 5, 0, 1, 3, 2, 4, 
      0, 
     0, 
    0, 
   60|128,1, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 59, 
     OPC_CheckChild3Integer, 0, 
     OPC_CheckChild4Integer, 0, 
     OPC_MoveChild5,
     OPC_Scope, 25, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v8i1,
      OPC_CheckType, MVT::v16i8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQMOVNs16bh), 0,
                    MVT::v16i8, 5, 0, 1, 3, 2, 4, 
     25, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v8i1,
      OPC_CheckType, MVT::v16i8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQMOVNs16th), 0,
                    MVT::v16i8, 5, 0, 1, 3, 2, 4, 
     0, 
    120, 
     OPC_CheckChild3Integer, 2, 
     OPC_Scope, 57, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQMOVNu16bh), 0,
                     MVT::v16i8, 5, 0, 1, 3, 2, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQMOVNu16th), 0,
                     MVT::v16i8, 5, 0, 1, 3, 2, 4, 
      0, 
     57, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQMOVUNs16bh), 0,
                     MVT::v16i8, 5, 0, 1, 3, 2, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQMOVUNs16th), 0,
                     MVT::v16i8, 5, 0, 1, 3, 2, 4, 
      0, 
     0, 
    0, 
   0, 
  113|128,5, 
   OPC_CheckChild0Integer, 64|128,39, 
   OPC_RecordChild1,
   OPC_Scope, 119|128,1, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_Scope, 120, 
     OPC_CheckChild3Integer, 0, 
     OPC_Scope, 57, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_qrs8), 0,
                     MVT::v16i8, 5, 0, 1, 2, 3, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_qru8), 0,
                     MVT::v16i8, 5, 0, 1, 2, 3, 4, 
      0, 
     57, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHL_qrs8), 0,
                     MVT::v16i8, 5, 0, 1, 2, 3, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHL_qru8), 0,
                     MVT::v16i8, 5, 0, 1, 2, 3, 4, 
      0, 
     0, 
    120, 
     OPC_CheckChild3Integer, 2, 
     OPC_Scope, 57, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHL_qrs8), 0,
                     MVT::v16i8, 5, 0, 1, 2, 3, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHL_qru8), 0,
                     MVT::v16i8, 5, 0, 1, 2, 3, 4, 
      0, 
     57, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHL_qrs8), 0,
                     MVT::v16i8, 5, 0, 1, 2, 3, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHL_qru8), 0,
                     MVT::v16i8, 5, 0, 1, 2, 3, 4, 
      0, 
     0, 
    0, 
   119|128,1, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_Scope, 120, 
     OPC_CheckChild3Integer, 0, 
     OPC_Scope, 57, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_qrs16), 0,
                     MVT::v8i16, 5, 0, 1, 2, 3, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_qru16), 0,
                     MVT::v8i16, 5, 0, 1, 2, 3, 4, 
      0, 
     57, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHL_qrs16), 0,
                     MVT::v8i16, 5, 0, 1, 2, 3, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHL_qru16), 0,
                     MVT::v8i16, 5, 0, 1, 2, 3, 4, 
      0, 
     0, 
    120, 
     OPC_CheckChild3Integer, 2, 
     OPC_Scope, 57, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHL_qrs16), 0,
                     MVT::v8i16, 5, 0, 1, 2, 3, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHL_qru16), 0,
                     MVT::v8i16, 5, 0, 1, 2, 3, 4, 
      0, 
     57, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHL_qrs16), 0,
                     MVT::v8i16, 5, 0, 1, 2, 3, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHL_qru16), 0,
                     MVT::v8i16, 5, 0, 1, 2, 3, 4, 
      0, 
     0, 
    0, 
   119|128,1, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_Scope, 120, 
     OPC_CheckChild3Integer, 0, 
     OPC_Scope, 57, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_qrs32), 0,
                     MVT::v4i32, 5, 0, 1, 2, 3, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_qru32), 0,
                     MVT::v4i32, 5, 0, 1, 2, 3, 4, 
      0, 
     57, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHL_qrs32), 0,
                     MVT::v4i32, 5, 0, 1, 2, 3, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHL_qru32), 0,
                     MVT::v4i32, 5, 0, 1, 2, 3, 4, 
      0, 
     0, 
    120, 
     OPC_CheckChild3Integer, 2, 
     OPC_Scope, 57, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHL_qrs32), 0,
                     MVT::v4i32, 5, 0, 1, 2, 3, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHL_qru32), 0,
                     MVT::v4i32, 5, 0, 1, 2, 3, 4, 
      0, 
     57, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHL_qrs32), 0,
                     MVT::v4i32, 5, 0, 1, 2, 3, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHL_qru32), 0,
                     MVT::v4i32, 5, 0, 1, 2, 3, 4, 
      0, 
     0, 
    0, 
   0, 
  113|128,5, 
   OPC_CheckChild0Integer, 66|128,39, 
   OPC_RecordChild1,
   OPC_Scope, 119|128,1, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_Scope, 120, 
     OPC_CheckChild3Integer, 0, 
     OPC_Scope, 57, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_qrs8), 0,
                     MVT::v16i8, 5, 0, 1, 3, 2, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_qru8), 0,
                     MVT::v16i8, 5, 0, 1, 3, 2, 4, 
      0, 
     57, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHL_qrs8), 0,
                     MVT::v16i8, 5, 0, 1, 3, 2, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHL_qru8), 0,
                     MVT::v16i8, 5, 0, 1, 3, 2, 4, 
      0, 
     0, 
    120, 
     OPC_CheckChild3Integer, 2, 
     OPC_Scope, 57, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHL_qrs8), 0,
                     MVT::v16i8, 5, 0, 1, 3, 2, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHL_qru8), 0,
                     MVT::v16i8, 5, 0, 1, 3, 2, 4, 
      0, 
     57, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHL_qrs8), 0,
                     MVT::v16i8, 5, 0, 1, 3, 2, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v16i1,
       OPC_CheckType, MVT::v16i8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHL_qru8), 0,
                     MVT::v16i8, 5, 0, 1, 3, 2, 4, 
      0, 
     0, 
    0, 
   119|128,1, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_Scope, 120, 
     OPC_CheckChild3Integer, 0, 
     OPC_Scope, 57, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_qrs16), 0,
                     MVT::v8i16, 5, 0, 1, 3, 2, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_qru16), 0,
                     MVT::v8i16, 5, 0, 1, 3, 2, 4, 
      0, 
     57, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHL_qrs16), 0,
                     MVT::v8i16, 5, 0, 1, 3, 2, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHL_qru16), 0,
                     MVT::v8i16, 5, 0, 1, 3, 2, 4, 
      0, 
     0, 
    120, 
     OPC_CheckChild3Integer, 2, 
     OPC_Scope, 57, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHL_qrs16), 0,
                     MVT::v8i16, 5, 0, 1, 3, 2, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHL_qru16), 0,
                     MVT::v8i16, 5, 0, 1, 3, 2, 4, 
      0, 
     57, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHL_qrs16), 0,
                     MVT::v8i16, 5, 0, 1, 3, 2, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v8i1,
       OPC_CheckType, MVT::v8i16,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHL_qru16), 0,
                     MVT::v8i16, 5, 0, 1, 3, 2, 4, 
      0, 
     0, 
    0, 
   119|128,1, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_Scope, 120, 
     OPC_CheckChild3Integer, 0, 
     OPC_Scope, 57, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_qrs32), 0,
                     MVT::v4i32, 5, 0, 1, 3, 2, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_qru32), 0,
                     MVT::v4i32, 5, 0, 1, 3, 2, 4, 
      0, 
     57, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHL_qrs32), 0,
                     MVT::v4i32, 5, 0, 1, 3, 2, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHL_qru32), 0,
                     MVT::v4i32, 5, 0, 1, 3, 2, 4, 
      0, 
     0, 
    120, 
     OPC_CheckChild3Integer, 2, 
     OPC_Scope, 57, 
      OPC_CheckChild4Integer, 0, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHL_qrs32), 0,
                     MVT::v4i32, 5, 0, 1, 3, 2, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHL_qru32), 0,
                     MVT::v4i32, 5, 0, 1, 3, 2, 4, 
      0, 
     57, 
      OPC_CheckChild4Integer, 2, 
      OPC_MoveChild5,
      OPC_Scope, 25, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHL_qrs32), 0,
                     MVT::v4i32, 5, 0, 1, 3, 2, 4, 
      25, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild6,
       OPC_CheckChild6Type, MVT::v4i1,
       OPC_CheckType, MVT::v4i32,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRSHL_qru32), 0,
                     MVT::v4i32, 5, 0, 1, 3, 2, 4, 
      0, 
     0, 
    0, 
   0, 
  19|128,1, 
   OPC_CheckChild0Integer, 20|128,40, 
   OPC_RecordChild1,
   OPC_Scope, 64, 
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_Scope, 39, 
     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, 38,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_EmitConvertToTarget, 3,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VUDOTDI), 0,
                   MVT::v2i32, 4, 0, 1, 2, 4, 
    16, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i8,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate, 33,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VUDOTD), 0,
                   MVT::v2i32, 3, 0, 1, 2, 
    0, 
   75, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 50, 
     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, 38,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 4, 
     OPC_EmitConvertToTarget, 3,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VUDOTQI), 0,
                   MVT::v4i32, 4, 0, 1, 5, 6, 
    16, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 33,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VUDOTQ), 0,
                   MVT::v4i32, 3, 0, 1, 2, 
    0, 
   0, 
  19|128,1, 
   OPC_CheckChild0Integer, 124|128,39, 
   OPC_RecordChild1,
   OPC_Scope, 64, 
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_Scope, 39, 
     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, 38,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_EmitConvertToTarget, 3,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSDOTDI), 0,
                   MVT::v2i32, 4, 0, 1, 2, 4, 
    16, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i8,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate, 33,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSDOTD), 0,
                   MVT::v2i32, 3, 0, 1, 2, 
    0, 
   75, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 50, 
     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, 38,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 4, 
     OPC_EmitConvertToTarget, 3,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSDOTQI), 0,
                   MVT::v4i32, 4, 0, 1, 5, 6, 
    16, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 33,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSDOTQ), 0,
                   MVT::v4i32, 3, 0, 1, 2, 
    0, 
   0, 
  3|128,2, 
   OPC_CheckChild0Integer, 24|128,40, 
   OPC_RecordChild1,
   OPC_Scope, 114, 
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_Scope, 44, 
     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, 38,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate, 34,
     OPC_EmitConvertToTarget, 3,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VUSDOTDI), 0,
                   MVT::v2i32, 4, 0, 1, 2, 4, 
    44, 
     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, 38,
     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, 34,
     OPC_EmitConvertToTarget, 2,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSUDOTDI), 0,
                   MVT::v2i32, 4, 0, 3, 1, 4, 
    19, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i8,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i8,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate, 34,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VUSDOTD), 0,
                   MVT::v2i32, 3, 0, 1, 2, 
    0, 
   8|128,1, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 55, 
     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, 38,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 34,
     OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 4, 
     OPC_EmitConvertToTarget, 3,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VUSDOTQI), 0,
                   MVT::v4i32, 4, 0, 1, 5, 6, 
    55, 
     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, 38,
     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, 34,
     OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 1, 4, 
     OPC_EmitConvertToTarget, 2,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VSUDOTQI), 0,
                   MVT::v4i32, 4, 0, 3, 5, 6, 
    19, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 34,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VUSDOTQ), 0,
                   MVT::v4i32, 3, 0, 1, 2, 
    0, 
   0, 
  118|128,1, 
   OPC_CheckChild0Integer, 108|128,38, 
   OPC_RecordChild1,
   OPC_SwitchType , 118, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 56, 
     OPC_CheckChild2Integer, 0, 
     OPC_Scope, 25, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMOVLs8bh), 0,
                    MVT::v8i16, 5, 0, 3, 1, 4, 2, 
     25, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMOVLs8th), 0,
                    MVT::v8i16, 5, 0, 3, 1, 4, 2, 
     0, 
    56, 
     OPC_CheckChild2Integer, 2, 
     OPC_Scope, 25, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMOVLu8bh), 0,
                    MVT::v8i16, 5, 0, 3, 1, 4, 2, 
     25, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMOVLu8th), 0,
                    MVT::v8i16, 5, 0, 3, 1, 4, 2, 
     0, 
    0, 
   118, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 56, 
     OPC_CheckChild2Integer, 0, 
     OPC_Scope, 25, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMOVLs16bh), 0,
                    MVT::v4i32, 5, 0, 3, 1, 4, 2, 
     25, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMOVLs16th), 0,
                    MVT::v4i32, 5, 0, 3, 1, 4, 2, 
     0, 
    56, 
     OPC_CheckChild2Integer, 2, 
     OPC_Scope, 25, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMOVLu16bh), 0,
                    MVT::v4i32, 5, 0, 3, 1, 4, 2, 
     25, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMOVLu16th), 0,
                    MVT::v4i32, 5, 0, 3, 1, 4, 2, 
     0, 
    0, 
   0,
  66|128,3, 
   OPC_CheckChild0Integer, 114|128,38, 
   OPC_RecordChild1,
   OPC_SwitchType , 17|128,1, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 68, 
     OPC_CheckChild3Integer, 0, 
     OPC_Scope, 31, 
      OPC_CheckChild4Integer, 0, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLBs8), 0,
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
     31, 
      OPC_CheckChild4Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLTs8), 0,
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    68, 
     OPC_CheckChild3Integer, 2, 
     OPC_Scope, 31, 
      OPC_CheckChild4Integer, 0, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLBu8), 0,
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
     31, 
      OPC_CheckChild4Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLTu8), 0,
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    0, 
   17|128,1, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 68, 
     OPC_CheckChild3Integer, 0, 
     OPC_Scope, 31, 
      OPC_CheckChild4Integer, 0, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLBs16), 0,
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
     31, 
      OPC_CheckChild4Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLTs16), 0,
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    68, 
     OPC_CheckChild3Integer, 2, 
     OPC_Scope, 31, 
      OPC_CheckChild4Integer, 0, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLBu16), 0,
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
     31, 
      OPC_CheckChild4Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLTu16), 0,
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    0, 
   17|128,1, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 68, 
     OPC_CheckChild3Integer, 0, 
     OPC_Scope, 31, 
      OPC_CheckChild4Integer, 0, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLBs32), 0,
                    MVT::v2i64, 6, 0, 1, 2, 3, 4, 5, 
     31, 
      OPC_CheckChild4Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLTs32), 0,
                    MVT::v2i64, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    68, 
     OPC_CheckChild3Integer, 2, 
     OPC_Scope, 31, 
      OPC_CheckChild4Integer, 0, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLBu32), 0,
                    MVT::v2i64, 6, 0, 1, 2, 3, 4, 5, 
     31, 
      OPC_CheckChild4Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLTu32), 0,
                    MVT::v2i64, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    0, 
   0,
  30|128,3, 
   OPC_CheckChild0Integer, 52|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 5|128,1, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 62, 
     OPC_CheckChild3Integer, 0, 
     OPC_Scope, 28, 
      OPC_CheckChild4Integer, 0, 
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i1,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v8i16,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLBs8), 0,
                    MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
     28, 
      OPC_CheckChild4Integer, 2, 
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i1,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v8i16,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLTs8), 0,
                    MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    62, 
     OPC_CheckChild3Integer, 2, 
     OPC_Scope, 28, 
      OPC_CheckChild4Integer, 0, 
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i1,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v8i16,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLBu8), 0,
                    MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
     28, 
      OPC_CheckChild4Integer, 2, 
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i1,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v8i16,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLTu8), 0,
                    MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    0, 
   5|128,1, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 62, 
     OPC_CheckChild3Integer, 0, 
     OPC_Scope, 28, 
      OPC_CheckChild4Integer, 0, 
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i1,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLBs16), 0,
                    MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
     28, 
      OPC_CheckChild4Integer, 2, 
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i1,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLTs16), 0,
                    MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    62, 
     OPC_CheckChild3Integer, 2, 
     OPC_Scope, 28, 
      OPC_CheckChild4Integer, 0, 
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i1,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLBu16), 0,
                    MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
     28, 
      OPC_CheckChild4Integer, 2, 
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i1,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLTu16), 0,
                    MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    0, 
   5|128,1, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 62, 
     OPC_CheckChild3Integer, 0, 
     OPC_Scope, 28, 
      OPC_CheckChild4Integer, 0, 
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v2i1,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v2i64,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLBs32), 0,
                    MVT::v2i64, 6, 0, 1, 4, 2, 5, 3, 
     28, 
      OPC_CheckChild4Integer, 2, 
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v2i1,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v2i64,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLTs32), 0,
                    MVT::v2i64, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    62, 
     OPC_CheckChild3Integer, 2, 
     OPC_Scope, 28, 
      OPC_CheckChild4Integer, 0, 
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v2i1,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v2i64,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLBu32), 0,
                    MVT::v2i64, 6, 0, 1, 4, 2, 5, 3, 
     28, 
      OPC_CheckChild4Integer, 2, 
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v2i1,
      OPC_RecordChild6,
      OPC_CheckChild6Type, MVT::v2i64,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLTu32), 0,
                    MVT::v2i64, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    0, 
   0,
  115|128,1, 
   OPC_CheckChild0Integer, 22|128,39, 
   OPC_RecordChild1,
   OPC_Scope, 78, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 7,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_Scope, 31, 
     OPC_CheckChild3Integer, 0, 
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHLimms8), 0,
                   MVT::v16i8, 6, 0, 2, 3, 4, 5, 6, 
    31, 
     OPC_CheckChild3Integer, 2, 
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHLimmu8), 0,
                   MVT::v16i8, 6, 0, 2, 3, 4, 5, 6, 
    0, 
   78, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 35,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_Scope, 31, 
     OPC_CheckChild3Integer, 0, 
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHLimms16), 0,
                   MVT::v8i16, 6, 0, 2, 3, 4, 5, 6, 
    31, 
     OPC_CheckChild3Integer, 2, 
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHLimmu16), 0,
                   MVT::v8i16, 6, 0, 2, 3, 4, 5, 6, 
    0, 
   78, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_Scope, 31, 
     OPC_CheckChild3Integer, 0, 
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHLimms32), 0,
                   MVT::v4i32, 6, 0, 2, 3, 4, 5, 6, 
    31, 
     OPC_CheckChild3Integer, 2, 
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHLimmu32), 0,
                   MVT::v4i32, 6, 0, 2, 3, 4, 5, 6, 
    0, 
   0, 
  97|128,1, 
   OPC_CheckChild0Integer, 24|128,39, 
   OPC_RecordChild1,
   OPC_Scope, 72, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 7,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_Scope, 28, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHLimms8), 0,
                   MVT::v16i8, 6, 0, 4, 5, 2, 6, 3, 
    28, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHLimmu8), 0,
                   MVT::v16i8, 6, 0, 4, 5, 2, 6, 3, 
    0, 
   72, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 35,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_Scope, 28, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHLimms16), 0,
                   MVT::v8i16, 6, 0, 4, 5, 2, 6, 3, 
    28, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHLimmu16), 0,
                   MVT::v8i16, 6, 0, 4, 5, 2, 6, 3, 
    0, 
   72, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_Scope, 28, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHLimms32), 0,
                   MVT::v4i32, 6, 0, 4, 5, 2, 6, 3, 
    28, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHLimmu32), 0,
                   MVT::v4i32, 6, 0, 4, 5, 2, 6, 3, 
    0, 
   0, 
  115|128,1, 
   OPC_CheckChild0Integer, 56|128,39, 
   OPC_RecordChild1,
   OPC_Scope, 78, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 36,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_Scope, 31, 
     OPC_CheckChild3Integer, 0, 
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHR_imms8), 0,
                   MVT::v16i8, 6, 0, 2, 3, 4, 5, 6, 
    31, 
     OPC_CheckChild3Integer, 2, 
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHR_immu8), 0,
                   MVT::v16i8, 6, 0, 2, 3, 4, 5, 6, 
    0, 
   78, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_Scope, 31, 
     OPC_CheckChild3Integer, 0, 
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHR_imms16), 0,
                   MVT::v8i16, 6, 0, 2, 3, 4, 5, 6, 
    31, 
     OPC_CheckChild3Integer, 2, 
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHR_immu16), 0,
                   MVT::v8i16, 6, 0, 2, 3, 4, 5, 6, 
    0, 
   78, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_Scope, 31, 
     OPC_CheckChild3Integer, 0, 
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHR_imms32), 0,
                   MVT::v4i32, 6, 0, 2, 3, 4, 5, 6, 
    31, 
     OPC_CheckChild3Integer, 2, 
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHR_immu32), 0,
                   MVT::v4i32, 6, 0, 2, 3, 4, 5, 6, 
    0, 
   0, 
  97|128,1, 
   OPC_CheckChild0Integer, 58|128,39, 
   OPC_RecordChild1,
   OPC_Scope, 72, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 36,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_Scope, 28, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHR_imms8), 0,
                   MVT::v16i8, 6, 0, 4, 5, 2, 6, 3, 
    28, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHR_immu8), 0,
                   MVT::v16i8, 6, 0, 4, 5, 2, 6, 3, 
    0, 
   72, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_Scope, 28, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHR_imms16), 0,
                   MVT::v8i16, 6, 0, 4, 5, 2, 6, 3, 
    28, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHR_immu16), 0,
                   MVT::v8i16, 6, 0, 4, 5, 2, 6, 3, 
    0, 
   72, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_Scope, 28, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHR_imms32), 0,
                   MVT::v4i32, 6, 0, 4, 5, 2, 6, 3, 
    28, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRSHR_immu32), 0,
                   MVT::v4i32, 6, 0, 4, 5, 2, 6, 3, 
    0, 
   0, 
  109|128,1, 
   OPC_CheckChild0Integer, 86|128,37, 
   OPC_RecordChild1,
   OPC_Scope, 76, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 7,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_Scope, 30, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHR_immu8), 0,
                   MVT::v16i8, 6, 0, 4, 5, 2, 6, 3, 
    30, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHR_imms8), 0,
                   MVT::v16i8, 6, 0, 4, 5, 2, 6, 3, 
    0, 
   76, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 35,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_Scope, 30, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHR_immu16), 0,
                   MVT::v8i16, 6, 0, 4, 5, 2, 6, 3, 
    30, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHR_imms16), 0,
                   MVT::v8i16, 6, 0, 4, 5, 2, 6, 3, 
    0, 
   76, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_Scope, 30, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHR_immu32), 0,
                   MVT::v4i32, 6, 0, 4, 5, 2, 6, 3, 
    30, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHR_imms32), 0,
                   MVT::v4i32, 6, 0, 4, 5, 2, 6, 3, 
    0, 
   0, 
  99|128,2, 
   OPC_CheckChild0Integer, 22|128,38, 
   OPC_Scope, 45|128,1, 
    OPC_CheckChild1Integer, 0, 
    OPC_RecordChild2,
    OPC_Scope, 41, 
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTs16f16_fix), 0,
                   MVT::v8i16, 6, 0, 2, 3, 4, 5, 6, 
    41, 
     OPC_CheckChild2Type, MVT::v4f32,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTs32f32_fix), 0,
                   MVT::v4i32, 6, 0, 2, 3, 4, 5, 6, 
    41, 
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTf16s16_fix), 0,
                   MVT::v8f16, 6, 0, 2, 3, 4, 5, 6, 
    41, 
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v4f32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTf32s32_fix), 0,
                   MVT::v4f32, 6, 0, 2, 3, 4, 5, 6, 
    0, 
   45|128,1, 
    OPC_CheckChild1Integer, 2, 
    OPC_RecordChild2,
    OPC_Scope, 41, 
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTu16f16_fix), 0,
                   MVT::v8i16, 6, 0, 2, 3, 4, 5, 6, 
    41, 
     OPC_CheckChild2Type, MVT::v4f32,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTu32f32_fix), 0,
                   MVT::v4i32, 6, 0, 2, 3, 4, 5, 6, 
    41, 
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTf16u16_fix), 0,
                   MVT::v8f16, 6, 0, 2, 3, 4, 5, 6, 
    41, 
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::v4f32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTf32u32_fix), 0,
                   MVT::v4f32, 6, 0, 2, 3, 4, 5, 6, 
    0, 
   0, 
  75|128,2, 
   OPC_CheckChild0Integer, 24|128,38, 
   OPC_Scope, 33|128,1, 
    OPC_CheckChild1Integer, 0, 
    OPC_RecordChild2,
    OPC_Scope, 38, 
     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_CheckPatternPredicate, 18,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTs16f16_fix), 0,
                   MVT::v8i16, 6, 1, 4, 5, 3, 6, 0, 
    38, 
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4f32,
     OPC_RecordChild4,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTs32f32_fix), 0,
                   MVT::v4i32, 6, 1, 4, 5, 3, 6, 0, 
    38, 
     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_CheckPatternPredicate, 18,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTf16s16_fix), 0,
                   MVT::v8f16, 6, 1, 4, 5, 3, 6, 0, 
    38, 
     OPC_CheckChild2Type, MVT::v4f32,
     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, MVT::v4f32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTf32s32_fix), 0,
                   MVT::v4f32, 6, 1, 4, 5, 3, 6, 0, 
    0, 
   33|128,1, 
    OPC_CheckChild1Integer, 2, 
    OPC_RecordChild2,
    OPC_Scope, 38, 
     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_CheckPatternPredicate, 18,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTu16f16_fix), 0,
                   MVT::v8i16, 6, 1, 4, 5, 3, 6, 0, 
    38, 
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4f32,
     OPC_RecordChild4,
     OPC_MoveChild4,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i1,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTu32f32_fix), 0,
                   MVT::v4i32, 6, 1, 4, 5, 3, 6, 0, 
    38, 
     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_CheckPatternPredicate, 18,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTf16u16_fix), 0,
                   MVT::v8f16, 6, 1, 4, 5, 3, 6, 0, 
    38, 
     OPC_CheckChild2Type, MVT::v4f32,
     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, MVT::v4f32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTf32u32_fix), 0,
                   MVT::v4f32, 6, 1, 4, 5, 3, 6, 0, 
    0, 
   0, 
  87|128,2, 
   OPC_CheckChild0Integer, 0|128,38, 
   OPC_Scope, 78|128,1, 
    OPC_CheckChild1Integer, 2, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_SwitchType , 37, MVT::v16i8,
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitConvertToTarget, 0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCADDi8), 0,
                   MVT::v16i8, 7, 1, 2, 3, 4, 5, 6, 7, 
    37, MVT::v8i16,
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitConvertToTarget, 0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCADDi16), 0,
                   MVT::v8i16, 7, 1, 2, 3, 4, 5, 6, 7, 
    37, MVT::v4i32,
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitConvertToTarget, 0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCADDi32), 0,
                   MVT::v4i32, 7, 1, 2, 3, 4, 5, 6, 7, 
    37, MVT::v8f16,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitConvertToTarget, 0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCADDf16), 0,
                   MVT::v8f16, 7, 1, 2, 3, 4, 5, 6, 7, 
    37, MVT::v4f32,
     OPC_CheckChild3Type, MVT::v4f32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4f32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitConvertToTarget, 0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCADDf32), 0,
                   MVT::v4f32, 7, 1, 2, 3, 4, 5, 6, 7, 
    0,
   0|128,1, 
    OPC_CheckChild1Integer, 0, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_SwitchType , 37, MVT::v16i8,
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitConvertToTarget, 0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHCADDs8), 0,
                   MVT::v16i8, 7, 1, 2, 3, 4, 5, 6, 7, 
    37, MVT::v8i16,
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitConvertToTarget, 0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHCADDs16), 0,
                   MVT::v8i16, 7, 1, 2, 3, 4, 5, 6, 7, 
    37, MVT::v4i32,
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitConvertToTarget, 0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHCADDs32), 0,
                   MVT::v4i32, 7, 1, 2, 3, 4, 5, 6, 7, 
    0,
   0, 
  62|128,2, 
   OPC_CheckChild0Integer, 2|128,38, 
   OPC_Scope, 63|128,1, 
    OPC_CheckChild1Integer, 2, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_SwitchType , 34, 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_CheckPatternPredicate, 8,
     OPC_EmitConvertToTarget, 0,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCADDi8), 0,
                   MVT::v16i8, 7, 2, 3, 5, 6, 4, 7, 1, 
    34, 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_CheckPatternPredicate, 8,
     OPC_EmitConvertToTarget, 0,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCADDi16), 0,
                   MVT::v8i16, 7, 2, 3, 5, 6, 4, 7, 1, 
    34, 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_CheckPatternPredicate, 8,
     OPC_EmitConvertToTarget, 0,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCADDi32), 0,
                   MVT::v4i32, 7, 2, 3, 5, 6, 4, 7, 1, 
    34, 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_CheckPatternPredicate, 18,
     OPC_EmitConvertToTarget, 0,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCADDf16), 0,
                   MVT::v8f16, 7, 2, 3, 5, 6, 4, 7, 1, 
    34, MVT::v4f32,
     OPC_CheckChild3Type, MVT::v4f32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4f32,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4f32,
     OPC_RecordChild6,
     OPC_CheckChild6Type, MVT::v4i1,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitConvertToTarget, 0,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCADDf32), 0,
                   MVT::v4f32, 7, 2, 3, 5, 6, 4, 7, 1, 
    0,
   119, 
    OPC_CheckChild1Integer, 0, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_SwitchType , 34, 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_CheckPatternPredicate, 8,
     OPC_EmitConvertToTarget, 0,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHCADDs8), 0,
                   MVT::v16i8, 7, 2, 3, 5, 6, 4, 7, 1, 
    34, 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_CheckPatternPredicate, 8,
     OPC_EmitConvertToTarget, 0,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHCADDs16), 0,
                   MVT::v8i16, 7, 2, 3, 5, 6, 4, 7, 1, 
    34, 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_CheckPatternPredicate, 8,
     OPC_EmitConvertToTarget, 0,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHCADDs32), 0,
                   MVT::v4i32, 7, 2, 3, 5, 6, 4, 7, 1, 
    0,
   0, 
  57|128,3, 
   OPC_CheckChild0Integer, 70|128,37, 
   OPC_RecordChild1,
   OPC_Scope, 15|128,1, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 72, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 28, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQADD_qr_s8), 0,
                    MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
     28, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQADD_qr_u8), 0,
                    MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    65, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 28, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQADDs8), 0,
                    MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
     28, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQADDu8), 0,
                    MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    0, 
   15|128,1, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 72, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 28, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQADD_qr_s16), 0,
                    MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
     28, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQADD_qr_u16), 0,
                    MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    65, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 28, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQADDs16), 0,
                    MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
     28, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQADDu16), 0,
                    MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    0, 
   15|128,1, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 72, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 28, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQADD_qr_s32), 0,
                    MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
     28, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQADD_qr_u32), 0,
                    MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    65, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 28, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQADDs32), 0,
                    MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
     28, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQADDu32), 0,
                    MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    0, 
   0, 
  57|128,3, 
   OPC_CheckChild0Integer, 78|128,37, 
   OPC_RecordChild1,
   OPC_Scope, 15|128,1, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 72, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 28, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSUB_qr_s8), 0,
                    MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
     28, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSUB_qr_u8), 0,
                    MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    65, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 28, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSUBs8), 0,
                    MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
     28, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSUBu8), 0,
                    MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    0, 
   15|128,1, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 72, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 28, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSUB_qr_s16), 0,
                    MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
     28, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSUB_qr_u16), 0,
                    MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    65, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 28, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSUBs16), 0,
                    MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
     28, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSUBu16), 0,
                    MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    0, 
   15|128,1, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 72, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 28, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSUB_qr_s32), 0,
                    MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
     28, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSUB_qr_u32), 0,
                    MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    65, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 28, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSUBs32), 0,
                    MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
     28, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSUBu32), 0,
                    MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    0, 
   0, 
  64|128,2, 
   OPC_CheckChild0Integer, 4|128,39, 
   OPC_RecordChild1,
   OPC_Scope, 27|128,1, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 78, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 31, 
      OPC_CheckChild3Integer, 0, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULL_qr_s16bh), 0,
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
     31, 
      OPC_CheckChild3Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULL_qr_s16th), 0,
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    71, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 31, 
      OPC_CheckChild3Integer, 0, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULLs16bh), 0,
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
     31, 
      OPC_CheckChild3Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULLs16th), 0,
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    0, 
   27|128,1, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 78, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_Scope, 31, 
      OPC_CheckChild3Integer, 0, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULL_qr_s32bh), 0,
                    MVT::v2i64, 6, 0, 1, 2, 3, 4, 5, 
     31, 
      OPC_CheckChild3Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULL_qr_s32th), 0,
                    MVT::v2i64, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    71, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckType, MVT::v2i64,
     OPC_Scope, 31, 
      OPC_CheckChild3Integer, 0, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULLs32bh), 0,
                    MVT::v2i64, 6, 0, 1, 2, 3, 4, 5, 
     31, 
      OPC_CheckChild3Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULLs32th), 0,
                    MVT::v2i64, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    0, 
   0, 
  40|128,2, 
   OPC_CheckChild0Integer, 6|128,39, 
   OPC_RecordChild1,
   OPC_Scope, 15|128,1, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 72, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 28, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULL_qr_s16bh), 0,
                    MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
     28, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULL_qr_s16th), 0,
                    MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    65, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 28, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULLs16bh), 0,
                    MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
     28, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULLs16th), 0,
                    MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    0, 
   15|128,1, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 72, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2i64,
     OPC_Scope, 28, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v2i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v2i64,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULL_qr_s32bh), 0,
                    MVT::v2i64, 6, 0, 1, 4, 2, 5, 3, 
     28, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v2i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v2i64,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULL_qr_s32th), 0,
                    MVT::v2i64, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    65, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckType, MVT::v2i64,
     OPC_Scope, 28, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v2i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v2i64,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULLs32bh), 0,
                    MVT::v2i64, 6, 0, 1, 4, 2, 5, 3, 
     28, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v2i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v2i64,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULLs32th), 0,
                    MVT::v2i64, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    0, 
   0, 
  49|128,4, 
   OPC_CheckChild0Integer, 6|128,37, 
   OPC_RecordChild1,
   OPC_Scope, 55|128,1, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 116, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 50, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_Scope, 18, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADD_qr_s8), 0,
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
      20, 
       OPC_CheckPatternPredicate, 8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADD_qr_s8), 0,
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
      0, 
     50, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_Scope, 18, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADD_qr_u8), 0,
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
      20, 
       OPC_CheckPatternPredicate, 8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADD_qr_u8), 0,
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
      0, 
     0, 
    61, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 26, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADDs8), 0,
                    MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
     26, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADDu8), 0,
                    MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    0, 
   55|128,1, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 116, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 50, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_Scope, 18, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADD_qr_s16), 0,
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
      20, 
       OPC_CheckPatternPredicate, 8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADD_qr_s16), 0,
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
      0, 
     50, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_Scope, 18, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADD_qr_u16), 0,
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
      20, 
       OPC_CheckPatternPredicate, 8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADD_qr_u16), 0,
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
      0, 
     0, 
    61, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 26, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADDs16), 0,
                    MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
     26, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADDu16), 0,
                    MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    0, 
   55|128,1, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 116, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 50, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_Scope, 18, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADD_qr_s32), 0,
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
      20, 
       OPC_CheckPatternPredicate, 8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADD_qr_s32), 0,
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
      0, 
     50, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_Scope, 18, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADD_qr_u32), 0,
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
      20, 
       OPC_CheckPatternPredicate, 8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADD_qr_u32), 0,
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
      0, 
     0, 
    61, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 26, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADDs32), 0,
                    MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
     26, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADDu32), 0,
                    MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    0, 
   0, 
  93|128,3, 
   OPC_CheckChild0Integer, 60|128,38, 
   OPC_RecordChild1,
   OPC_Scope, 27|128,1, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 78, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 31, 
      OPC_CheckChild3Integer, 0, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADD_qr_s8), 0,
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
     31, 
      OPC_CheckChild3Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADD_qr_u8), 0,
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    71, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 31, 
      OPC_CheckChild3Integer, 0, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADDs8), 0,
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
     31, 
      OPC_CheckChild3Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADDu8), 0,
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    0, 
   27|128,1, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 78, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 31, 
      OPC_CheckChild3Integer, 0, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADD_qr_s16), 0,
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
     31, 
      OPC_CheckChild3Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADD_qr_u16), 0,
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    71, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 31, 
      OPC_CheckChild3Integer, 0, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADDs16), 0,
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
     31, 
      OPC_CheckChild3Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADDu16), 0,
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    0, 
   27|128,1, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 78, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 31, 
      OPC_CheckChild3Integer, 0, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADD_qr_s32), 0,
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
     31, 
      OPC_CheckChild3Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADD_qr_u32), 0,
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    71, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 31, 
      OPC_CheckChild3Integer, 0, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADDs32), 0,
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
     31, 
      OPC_CheckChild3Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHADDu32), 0,
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    0, 
   0, 
  61|128,4, 
   OPC_CheckChild0Integer, 8|128,37, 
   OPC_RecordChild1,
   OPC_Scope, 59|128,1, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 116, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 50, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_Scope, 18, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUB_qr_s8), 0,
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
      20, 
       OPC_CheckPatternPredicate, 8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUB_qr_s8), 0,
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
      0, 
     50, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_Scope, 18, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUB_qr_u8), 0,
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
      20, 
       OPC_CheckPatternPredicate, 8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUB_qr_u8), 0,
                     MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
      0, 
     0, 
    65, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 28, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUBs8), 0,
                    MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
     28, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v16i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v16i8,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUBu8), 0,
                    MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    0, 
   59|128,1, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 116, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 50, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_Scope, 18, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUB_qr_s16), 0,
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
      20, 
       OPC_CheckPatternPredicate, 8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUB_qr_s16), 0,
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
      0, 
     50, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_Scope, 18, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUB_qr_u16), 0,
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
      20, 
       OPC_CheckPatternPredicate, 8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUB_qr_u16), 0,
                     MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
      0, 
     0, 
    65, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 28, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUBs16), 0,
                    MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
     28, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v8i16,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUBu16), 0,
                    MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    0, 
   59|128,1, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 116, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 50, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_Scope, 18, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUB_qr_s32), 0,
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
      20, 
       OPC_CheckPatternPredicate, 8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUB_qr_s32), 0,
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
      0, 
     50, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_Scope, 18, 
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUB_qr_u32), 0,
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
      20, 
       OPC_CheckPatternPredicate, 8,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUB_qr_u32), 0,
                     MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
      0, 
     0, 
    65, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 28, 
      OPC_CheckChild3Integer, 0, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUBs32), 0,
                    MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
     28, 
      OPC_CheckChild3Integer, 2, 
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i32,
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUBu32), 0,
                    MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
     0, 
    0, 
   0, 
  93|128,3, 
   OPC_CheckChild0Integer, 62|128,38, 
   OPC_RecordChild1,
   OPC_Scope, 27|128,1, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 78, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 31, 
      OPC_CheckChild3Integer, 0, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUB_qr_s8), 0,
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
     31, 
      OPC_CheckChild3Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUB_qr_u8), 0,
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    71, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_Scope, 31, 
      OPC_CheckChild3Integer, 0, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUBs8), 0,
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
     31, 
      OPC_CheckChild3Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUBu8), 0,
                    MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    0, 
   27|128,1, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 78, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 31, 
      OPC_CheckChild3Integer, 0, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUB_qr_s16), 0,
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
     31, 
      OPC_CheckChild3Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUB_qr_u16), 0,
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    71, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_Scope, 31, 
      OPC_CheckChild3Integer, 0, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUBs16), 0,
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
     31, 
      OPC_CheckChild3Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUBu16), 0,
                    MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    0, 
   27|128,1, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 78, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 31, 
      OPC_CheckChild3Integer, 0, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUB_qr_s32), 0,
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
     31, 
      OPC_CheckChild3Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUB_qr_u32), 0,
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    71, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_Scope, 31, 
      OPC_CheckChild3Integer, 0, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUBs32), 0,
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
     31, 
      OPC_CheckChild3Integer, 2, 
      OPC_CheckPatternPredicate, 8,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VHSUBu32), 0,
                    MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
     0, 
    0, 
   0, 
  25|128,5, 
   OPC_CheckChild0Integer, 24|128,41, 
   OPC_Scope, 43|128,1, 
    OPC_RecordChild1,
    OPC_Scope, 41, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQDMULHslv4i16), 0,
                   MVT::v4i16, 5, 0, 1, 3, 4, 5, 
    41, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQDMULHslv2i32), 0,
                   MVT::v2i32, 5, 0, 1, 3, 4, 5, 
    41, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQDMULHslv8i16), 0,
                   MVT::v8i16, 5, 0, 1, 3, 4, 5, 
    41, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQDMULHslv4i32), 0,
                   MVT::v4i32, 5, 0, 1, 3, 4, 5, 
    0, 
   17|128,1, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_Scope, 68, 
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_SwitchType , 27, MVT::v4i16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v4i16,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VQDMULHslv4i16), 0,
                    MVT::v4i16, 5, 2, 0, 3, 4, 5, 
     27, MVT::v8i16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8i16,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VQDMULHslv8i16), 0,
                    MVT::v8i16, 5, 2, 0, 3, 4, 5, 
     0,
    68, 
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_SwitchType , 27, MVT::v2i32,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v2i32,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VQDMULHslv2i32), 0,
                    MVT::v2i32, 5, 2, 0, 3, 4, 5, 
     27, MVT::v4i32,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v4i32,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VQDMULHslv4i32), 0,
                    MVT::v4i32, 5, 2, 0, 3, 4, 5, 
     0,
    0, 
   119, 
    OPC_RecordChild1,
    OPC_Scope, 57, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitNodeXForm, 5, 3,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::v4i16, 2, 1, 4, 
     OPC_EmitConvertToTarget, 2,
     OPC_EmitNodeXForm, 6, 6,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQDMULHslv8i16), 0,
                   MVT::v8i16, 5, 0, 5, 7, 8, 9, 
    57, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitNodeXForm, 7, 3,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::v2i32, 2, 1, 4, 
     OPC_EmitConvertToTarget, 2,
     OPC_EmitNodeXForm, 8, 6,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQDMULHslv4i32), 0,
                   MVT::v4i32, 5, 0, 5, 7, 8, 9, 
    0, 
   115, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_Scope, 53, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 5, 3,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::v4i16, 2, 0, 4, 
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 6, 6,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQDMULHslv8i16), 0,
                   MVT::v8i16, 5, 2, 5, 7, 8, 9, 
    53, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 7, 3,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::v2i32, 2, 0, 4, 
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 8, 6,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQDMULHslv4i32), 0,
                   MVT::v4i32, 5, 2, 5, 7, 8, 9, 
    0, 
   103, 
    OPC_RecordChild1,
    OPC_SwitchType , 23, MVT::v4i16,
     OPC_CheckChild1Type, MVT::v4i16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQDMULHv4i16), 0,
                   MVT::v4i16, 4, 0, 1, 2, 3, 
    23, MVT::v2i32,
     OPC_CheckChild1Type, MVT::v2i32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v2i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQDMULHv2i32), 0,
                   MVT::v2i32, 4, 0, 1, 2, 3, 
    23, MVT::v8i16,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQDMULHv8i16), 0,
                   MVT::v8i16, 4, 0, 1, 2, 3, 
    23, MVT::v4i32,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQDMULHv4i32), 0,
                   MVT::v4i32, 4, 0, 1, 2, 3, 
    0,
   0, 
  25|128,5, 
   OPC_CheckChild0Integer, 40|128,41, 
   OPC_Scope, 43|128,1, 
    OPC_RecordChild1,
    OPC_Scope, 41, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMULHslv4i16), 0,
                   MVT::v4i16, 5, 0, 1, 3, 4, 5, 
    41, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMULHslv2i32), 0,
                   MVT::v2i32, 5, 0, 1, 3, 4, 5, 
    41, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMULHslv8i16), 0,
                   MVT::v8i16, 5, 0, 1, 3, 4, 5, 
    41, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMULHslv4i32), 0,
                   MVT::v4i32, 5, 0, 1, 3, 4, 5, 
    0, 
   17|128,1, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_Scope, 68, 
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_SwitchType , 27, MVT::v4i16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v4i16,
      OPC_CheckType, MVT::v4i16,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMULHslv4i16), 0,
                    MVT::v4i16, 5, 2, 0, 3, 4, 5, 
     27, MVT::v8i16,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v8i16,
      OPC_CheckType, MVT::v8i16,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMULHslv8i16), 0,
                    MVT::v8i16, 5, 2, 0, 3, 4, 5, 
     0,
    68, 
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_SwitchType , 27, MVT::v2i32,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v2i32,
      OPC_CheckType, MVT::v2i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMULHslv2i32), 0,
                    MVT::v2i32, 5, 2, 0, 3, 4, 5, 
     27, MVT::v4i32,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckChild2Type, MVT::v4i32,
      OPC_CheckType, MVT::v4i32,
      OPC_CheckPatternPredicate, 7,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMULHslv4i32), 0,
                    MVT::v4i32, 5, 2, 0, 3, 4, 5, 
     0,
    0, 
   119, 
    OPC_RecordChild1,
    OPC_Scope, 57, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitNodeXForm, 5, 3,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::v4i16, 2, 1, 4, 
     OPC_EmitConvertToTarget, 2,
     OPC_EmitNodeXForm, 6, 6,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMULHslv8i16), 0,
                   MVT::v8i16, 5, 0, 5, 7, 8, 9, 
    57, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitNodeXForm, 7, 3,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::v2i32, 2, 1, 4, 
     OPC_EmitConvertToTarget, 2,
     OPC_EmitNodeXForm, 8, 6,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMULHslv4i32), 0,
                   MVT::v4i32, 5, 0, 5, 7, 8, 9, 
    0, 
   115, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_Scope, 53, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 5, 3,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::v4i16, 2, 0, 4, 
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 6, 6,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMULHslv8i16), 0,
                   MVT::v8i16, 5, 2, 5, 7, 8, 9, 
    53, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 7, 3,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::v2i32, 2, 0, 4, 
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 8, 6,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMULHslv4i32), 0,
                   MVT::v4i32, 5, 2, 5, 7, 8, 9, 
    0, 
   103, 
    OPC_RecordChild1,
    OPC_SwitchType , 23, MVT::v4i16,
     OPC_CheckChild1Type, MVT::v4i16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMULHv4i16), 0,
                   MVT::v4i16, 4, 0, 1, 2, 3, 
    23, MVT::v2i32,
     OPC_CheckChild1Type, MVT::v2i32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v2i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMULHv2i32), 0,
                   MVT::v2i32, 4, 0, 1, 2, 3, 
    23, MVT::v8i16,
     OPC_CheckChild1Type, MVT::v8i16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMULHv8i16), 0,
                   MVT::v8i16, 4, 0, 1, 2, 3, 
    23, MVT::v4i32,
     OPC_CheckChild1Type, MVT::v4i32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMULHv4i32), 0,
                   MVT::v4i32, 4, 0, 1, 2, 3, 
    0,
   0, 
  103|128,1, 
   OPC_CheckChild0Integer, 26|128,41, 
   OPC_Scope, 87, 
    OPC_RecordChild1,
    OPC_Scope, 41, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQDMULLslv4i16), 0,
                   MVT::v4i32, 5, 0, 1, 3, 4, 5, 
    41, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQDMULLslv2i32), 0,
                   MVT::v2i64, 5, 0, 1, 3, 4, 5, 
    0, 
   83, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
    OPC_RecordChild0,
    OPC_Scope, 37, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQDMULLslv4i16), 0,
                   MVT::v4i32, 5, 2, 0, 3, 4, 5, 
    37, 
     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_CheckPatternPredicate, 7,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQDMULLslv2i32), 0,
                   MVT::v2i64, 5, 2, 0, 3, 4, 5, 
    0, 
   53, 
    OPC_RecordChild1,
    OPC_SwitchType , 23, MVT::v4i32,
     OPC_CheckChild1Type, MVT::v4i16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i16,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQDMULLv4i32), 0,
                   MVT::v4i32, 4, 0, 1, 2, 3, 
    23, MVT::v2i64,
     OPC_CheckChild1Type, MVT::v2i32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v2i32,
     OPC_CheckPatternPredicate, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQDMULLv2i64), 0,
                   MVT::v2i64, 4, 0, 1, 2, 3, 
    0,
   0, 
  78|128,2, 
   OPC_CheckChild0Integer, 36|128,41, 
   OPC_RecordChild1,
   OPC_Scope, 73, 
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_Scope, 40, 
     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, 35,
     OPC_EmitConvertToTarget, 3,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMLAHslv4i16), 0,
                   MVT::v4i16, 6, 0, 1, 2, 4, 5, 6, 
    24, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i16,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate, 35,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMLAHv4i16), 0,
                   MVT::v4i16, 5, 0, 1, 2, 3, 4, 
    0, 
   73, 
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_Scope, 40, 
     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, 35,
     OPC_EmitConvertToTarget, 3,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMLAHslv2i32), 0,
                   MVT::v2i32, 6, 0, 1, 2, 4, 5, 6, 
    24, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v2i32,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate, 35,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMLAHv2i32), 0,
                   MVT::v2i32, 5, 0, 1, 2, 3, 4, 
    0, 
   89, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 56, 
     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, 35,
     OPC_EmitConvertToTarget, 3,
     OPC_EmitNodeXForm, 5, 4,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::v4i16, 2, 2, 5, 
     OPC_EmitConvertToTarget, 3,
     OPC_EmitNodeXForm, 6, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMLAHslv8i16), 0,
                   MVT::v8i16, 6, 0, 1, 6, 8, 9, 10, 
    24, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 35,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMLAHv8i16), 0,
                   MVT::v8i16, 5, 0, 1, 2, 3, 4, 
    0, 
   89, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 56, 
     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, 35,
     OPC_EmitConvertToTarget, 3,
     OPC_EmitNodeXForm, 7, 4,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::v2i32, 2, 2, 5, 
     OPC_EmitConvertToTarget, 3,
     OPC_EmitNodeXForm, 8, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMLAHslv4i32), 0,
                   MVT::v4i32, 6, 0, 1, 6, 8, 9, 10, 
    24, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 35,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMLAHv4i32), 0,
                   MVT::v4i32, 5, 0, 1, 2, 3, 4, 
    0, 
   0, 
  78|128,2, 
   OPC_CheckChild0Integer, 38|128,41, 
   OPC_RecordChild1,
   OPC_Scope, 73, 
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_Scope, 40, 
     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, 35,
     OPC_EmitConvertToTarget, 3,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMLSHslv4i16), 0,
                   MVT::v4i16, 6, 0, 1, 2, 4, 5, 6, 
    24, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i16,
     OPC_CheckType, MVT::v4i16,
     OPC_CheckPatternPredicate, 35,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMLSHv4i16), 0,
                   MVT::v4i16, 5, 0, 1, 2, 3, 4, 
    0, 
   73, 
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_Scope, 40, 
     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, 35,
     OPC_EmitConvertToTarget, 3,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMLSHslv2i32), 0,
                   MVT::v2i32, 6, 0, 1, 2, 4, 5, 6, 
    24, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v2i32,
     OPC_CheckType, MVT::v2i32,
     OPC_CheckPatternPredicate, 35,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMLSHv2i32), 0,
                   MVT::v2i32, 5, 0, 1, 2, 3, 4, 
    0, 
   89, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 56, 
     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, 35,
     OPC_EmitConvertToTarget, 3,
     OPC_EmitNodeXForm, 5, 4,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::v4i16, 2, 2, 5, 
     OPC_EmitConvertToTarget, 3,
     OPC_EmitNodeXForm, 6, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMLSHslv8i16), 0,
                   MVT::v8i16, 6, 0, 1, 6, 8, 9, 10, 
    24, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 35,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMLSHv8i16), 0,
                   MVT::v8i16, 5, 0, 1, 2, 3, 4, 
    0, 
   89, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 56, 
     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, 35,
     OPC_EmitConvertToTarget, 3,
     OPC_EmitNodeXForm, 7, 4,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::v2i32, 2, 2, 5, 
     OPC_EmitConvertToTarget, 3,
     OPC_EmitNodeXForm, 8, 7,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMLSHslv4i32), 0,
                   MVT::v4i32, 6, 0, 1, 6, 8, 9, 10, 
    24, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 35,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRDMLSHv4i32), 0,
                   MVT::v4i32, 5, 0, 1, 2, 3, 4, 
    0, 
   0, 
  46, 
   OPC_CheckChild0Integer, 126|128,35, 
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_MoveChild2,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 36,
   OPC_EmitConvertToTarget, 1,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::v4i32, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX1_vec), 0,
                 MVT::v16i8, 6, 0, 2, 3, 4, 5, 6, 
  41, 
   OPC_CheckChild0Integer, 2|128,36, 
   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, 36,
   OPC_EmitConvertToTarget, 2,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX1A_vec), 0,
                 MVT::v16i8, 6, 0, 1, 3, 4, 5, 6, 
  48, 
   OPC_CheckChild0Integer, 10|128,36, 
   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, 36,
   OPC_EmitConvertToTarget, 2,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::v4i32, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX2_vec), 0,
                 MVT::v16i8, 7, 0, 1, 3, 4, 5, 6, 7, 
  43, 
   OPC_CheckChild0Integer, 14|128,36, 
   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, 36,
   OPC_EmitConvertToTarget, 3,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX2A_vec), 0,
                 MVT::v16i8, 7, 0, 1, 2, 4, 5, 6, 7, 
  50, 
   OPC_CheckChild0Integer, 22|128,36, 
   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, 36,
   OPC_EmitConvertToTarget, 3,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::v4i32, 0, 
   OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX3_vec), 0,
                 MVT::v16i8, 8, 0, 1, 2, 4, 5, 6, 7, 8, 
  45, 
   OPC_CheckChild0Integer, 26|128,36, 
   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, 36,
   OPC_EmitConvertToTarget, 4,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX3A_vec), 0,
                 MVT::v16i8, 8, 0, 1, 2, 3, 5, 6, 7, 8, 
  100|128,1, 
   OPC_CheckChild0Integer, 0|128,36, 
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_Scope, 35, 
    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, 36,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX1_vec), 0,
                  MVT::v16i8, 6, 0, 4, 5, 3, 6, 1, 
   35, 
    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, 36,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX1_vec), 0,
                  MVT::v8i16, 6, 0, 4, 5, 3, 6, 1, 
   35, 
    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, 36,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX1_vec), 0,
                  MVT::v4i32, 6, 0, 4, 5, 3, 6, 1, 
   35, 
    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, 36,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX1_vec), 0,
                  MVT::v2i64, 6, 0, 4, 5, 3, 6, 1, 
   35, 
    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, 37,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX1_vec), 0,
                  MVT::v8f16, 6, 0, 4, 5, 3, 6, 1, 
   35, 
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckType, MVT::v4f32,
    OPC_CheckPatternPredicate, 37,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX1_vec), 0,
                  MVT::v4f32, 6, 0, 4, 5, 3, 6, 1, 
   0, 
  100|128,1, 
   OPC_CheckChild0Integer, 4|128,36, 
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_Scope, 35, 
    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, 36,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX1A_vec), 0,
                  MVT::v16i8, 6, 0, 1, 4, 5, 3, 6, 
   35, 
    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, 36,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX1A_vec), 0,
                  MVT::v8i16, 6, 0, 1, 4, 5, 3, 6, 
   35, 
    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, 36,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX1A_vec), 0,
                  MVT::v4i32, 6, 0, 1, 4, 5, 3, 6, 
   35, 
    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, 36,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX1A_vec), 0,
                  MVT::v2i64, 6, 0, 1, 4, 5, 3, 6, 
   35, 
    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, 37,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX1A_vec), 0,
                  MVT::v8f16, 6, 0, 1, 4, 5, 3, 6, 
   35, 
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckType, MVT::v4f32,
    OPC_CheckPatternPredicate, 37,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX1A_vec), 0,
                  MVT::v4f32, 6, 0, 1, 4, 5, 3, 6, 
   0, 
  112|128,1, 
   OPC_CheckChild0Integer, 12|128,36, 
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_Scope, 37, 
    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, 36,
    OPC_EmitConvertToTarget, 3,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX2_vec), 0,
                  MVT::v16i8, 7, 0, 2, 5, 6, 4, 7, 1, 
   37, 
    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, 36,
    OPC_EmitConvertToTarget, 3,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX2_vec), 0,
                  MVT::v8i16, 7, 0, 2, 5, 6, 4, 7, 1, 
   37, 
    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, 36,
    OPC_EmitConvertToTarget, 3,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX2_vec), 0,
                  MVT::v4i32, 7, 0, 2, 5, 6, 4, 7, 1, 
   37, 
    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, 36,
    OPC_EmitConvertToTarget, 3,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX2_vec), 0,
                  MVT::v2i64, 7, 0, 2, 5, 6, 4, 7, 1, 
   37, 
    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, 37,
    OPC_EmitConvertToTarget, 3,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX2_vec), 0,
                  MVT::v8f16, 7, 0, 2, 5, 6, 4, 7, 1, 
   37, 
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v4i1,
    OPC_CheckType, MVT::v4f32,
    OPC_CheckPatternPredicate, 37,
    OPC_EmitConvertToTarget, 3,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX2_vec), 0,
                  MVT::v4f32, 7, 0, 2, 5, 6, 4, 7, 1, 
   0, 
  100|128,1, 
   OPC_CheckChild0Integer, 16|128,36, 
   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_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v16i1,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate, 36,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX2A_vec), 0,
                  MVT::v16i8, 7, 0, 1, 2, 3, 5, 4, 6, 
   35, 
    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, 36,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX2A_vec), 0,
                  MVT::v8i16, 7, 0, 1, 2, 3, 5, 4, 6, 
   35, 
    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, 36,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX2A_vec), 0,
                  MVT::v4i32, 7, 0, 1, 2, 3, 5, 4, 6, 
   35, 
    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, 36,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX2A_vec), 0,
                  MVT::v2i64, 7, 0, 1, 2, 3, 5, 4, 6, 
   35, 
    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, 37,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX2A_vec), 0,
                  MVT::v8f16, 7, 0, 1, 2, 3, 5, 4, 6, 
   35, 
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v4i1,
    OPC_CheckType, MVT::v4f32,
    OPC_CheckPatternPredicate, 37,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX2A_vec), 0,
                  MVT::v4f32, 7, 0, 1, 2, 3, 5, 4, 6, 
   0, 
  124|128,1, 
   OPC_CheckChild0Integer, 24|128,36, 
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_Scope, 39, 
    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, 36,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX3_vec), 0,
                  MVT::v16i8, 8, 0, 2, 3, 6, 7, 5, 8, 1, 
   39, 
    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, 36,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX3_vec), 0,
                  MVT::v8i16, 8, 0, 2, 3, 6, 7, 5, 8, 1, 
   39, 
    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, 36,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX3_vec), 0,
                  MVT::v4i32, 8, 0, 2, 3, 6, 7, 5, 8, 1, 
   39, 
    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, 36,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX3_vec), 0,
                  MVT::v2i64, 8, 0, 2, 3, 6, 7, 5, 8, 1, 
   39, 
    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, 37,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX3_vec), 0,
                  MVT::v8f16, 8, 0, 2, 3, 6, 7, 5, 8, 1, 
   39, 
    OPC_CheckChild2Type, MVT::v4f32,
    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::v4f32,
    OPC_CheckPatternPredicate, 37,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX3_vec), 0,
                  MVT::v4f32, 8, 0, 2, 3, 6, 7, 5, 8, 1, 
   0, 
  124|128,1, 
   OPC_CheckChild0Integer, 28|128,36, 
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_Scope, 39, 
    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, 36,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX3A_vec), 0,
                  MVT::v16i8, 8, 0, 1, 2, 3, 6, 7, 5, 8, 
   39, 
    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, 36,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX3A_vec), 0,
                  MVT::v8i16, 8, 0, 1, 2, 3, 6, 7, 5, 8, 
   39, 
    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, 36,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX3A_vec), 0,
                  MVT::v4i32, 8, 0, 1, 2, 3, 6, 7, 5, 8, 
   39, 
    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, 36,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX3A_vec), 0,
                  MVT::v2i64, 8, 0, 1, 2, 3, 6, 7, 5, 8, 
   39, 
    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, 37,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX3A_vec), 0,
                  MVT::v8f16, 8, 0, 1, 2, 3, 6, 7, 5, 8, 
   39, 
    OPC_CheckChild2Type, MVT::v4f32,
    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::v4f32,
    OPC_CheckPatternPredicate, 37,
    OPC_EmitConvertToTarget, 4,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CDE_VCX3A_vec), 0,
                  MVT::v4f32, 8, 0, 1, 2, 3, 6, 7, 5, 8, 
   0, 
  21|128,2, 
   OPC_CheckChild0Integer, 30|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 65, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 28, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINs8), 0,
                   MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
    28, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINu8), 0,
                   MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   65, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 28, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINs16), 0,
                   MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
    28, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINu16), 0,
                   MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   65, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 28, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINs32), 0,
                   MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
    28, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINu32), 0,
                   MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   33, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_CheckChild3Integer, 0, 
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINNMf32), 0,
                  MVT::v4f32, 6, 0, 1, 4, 2, 5, 3, 
   33, 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_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINNMf16), 0,
                  MVT::v8f16, 6, 0, 1, 4, 2, 5, 3, 
   0,
  21|128,2, 
   OPC_CheckChild0Integer, 12|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 65, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 28, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXs8), 0,
                   MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
    28, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXu8), 0,
                   MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   65, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 28, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXs16), 0,
                   MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
    28, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXu16), 0,
                   MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   65, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 28, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXs32), 0,
                   MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
    28, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXu32), 0,
                   MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   33, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_CheckChild3Integer, 0, 
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXNMf32), 0,
                  MVT::v4f32, 6, 0, 1, 4, 2, 5, 3, 
   33, 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_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXNMf16), 0,
                  MVT::v8f16, 6, 0, 1, 4, 2, 5, 3, 
   0,
  31|128,2, 
   OPC_CheckChild0Integer, 32|128,39, 
   OPC_RecordChild1,
   OPC_SwitchType , 30, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckChild2Integer, 0|128,1, 
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_32), 0,
                  MVT::v4i32, 5, 0, 3, 1, 4, 2, 
   61, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 28, 
     OPC_CheckChild2Integer, 0|128,1, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_16), 0,
                   MVT::v8i16, 5, 0, 3, 1, 4, 2, 
    27, 
     OPC_CheckChild2Integer, 64, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV32_16), 0,
                   MVT::v8i16, 5, 0, 3, 1, 4, 2, 
    0, 
   89, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 28, 
     OPC_CheckChild2Integer, 0|128,1, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_8), 0,
                   MVT::v16i8, 5, 0, 3, 1, 4, 2, 
    27, 
     OPC_CheckChild2Integer, 64, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV32_8), 0,
                   MVT::v16i8, 5, 0, 3, 1, 4, 2, 
    27, 
     OPC_CheckChild2Integer, 32, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV16_8), 0,
                   MVT::v16i8, 5, 0, 3, 1, 4, 2, 
    0, 
   30, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_CheckChild2Integer, 0|128,1, 
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_32), 0,
                  MVT::v4f32, 5, 0, 3, 1, 4, 2, 
   61, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_Scope, 28, 
     OPC_CheckChild2Integer, 0|128,1, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_16), 0,
                   MVT::v8f16, 5, 0, 3, 1, 4, 2, 
    27, 
     OPC_CheckChild2Integer, 64, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV32_16), 0,
                   MVT::v8f16, 5, 0, 3, 1, 4, 2, 
    0, 
   0,
  21|128,2, 
   OPC_CheckChild0Integer, 106|128,36, 
   OPC_RecordChild1,
   OPC_SwitchType , 65, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 28, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABDs8), 0,
                   MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
    28, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABDu8), 0,
                   MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   65, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 28, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABDs16), 0,
                   MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
    28, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABDu16), 0,
                   MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   65, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 28, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABDs32), 0,
                   MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
    28, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABDu32), 0,
                   MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   33, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_CheckChild3Integer, 0, 
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABDf32), 0,
                  MVT::v4f32, 6, 0, 1, 4, 2, 5, 3, 
   33, 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_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABDf16), 0,
                  MVT::v8f16, 6, 0, 1, 4, 2, 5, 3, 
   0,
  45|128,2, 
   OPC_CheckChild0Integer, 118|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 71, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 31, 
     OPC_CheckChild3Integer, 0, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABDs8), 0,
                   MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
    31, 
     OPC_CheckChild3Integer, 2, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABDu8), 0,
                   MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   71, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 31, 
     OPC_CheckChild3Integer, 0, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABDs16), 0,
                   MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
    31, 
     OPC_CheckChild3Integer, 2, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABDu16), 0,
                   MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   71, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 31, 
     OPC_CheckChild3Integer, 0, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABDs32), 0,
                   MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
    31, 
     OPC_CheckChild3Integer, 2, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABDu32), 0,
                   MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   36, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_CheckChild3Integer, 0, 
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABDf32), 0,
                  MVT::v4f32, 6, 0, 1, 2, 3, 4, 5, 
   36, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckChild3Integer, 0, 
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABDf16), 0,
                  MVT::v8f16, 6, 0, 1, 2, 3, 4, 5, 
   0,
  67|128,1, 
   OPC_CheckChild0Integer, 80|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 61, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 26, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRHADDs8), 0,
                   MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
    26, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRHADDu8), 0,
                   MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   61, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 26, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRHADDs16), 0,
                   MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
    26, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRHADDu16), 0,
                   MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   61, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 26, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRHADDs32), 0,
                   MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
    26, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRHADDu32), 0,
                   MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   0,
  97|128,1, 
   OPC_CheckChild0Integer, 34|128,39, 
   OPC_RecordChild1,
   OPC_SwitchType , 71, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 31, 
     OPC_CheckChild3Integer, 0, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRHADDs8), 0,
                   MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
    31, 
     OPC_CheckChild3Integer, 2, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRHADDu8), 0,
                   MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   71, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 31, 
     OPC_CheckChild3Integer, 0, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRHADDs16), 0,
                   MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
    31, 
     OPC_CheckChild3Integer, 2, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRHADDu16), 0,
                   MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   71, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 31, 
     OPC_CheckChild3Integer, 0, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRHADDs32), 0,
                   MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
    31, 
     OPC_CheckChild3Integer, 2, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRHADDu32), 0,
                   MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   0,
  17|128,1, 
   OPC_CheckChild0Integer, 36|128,38, 
   OPC_Scope, 69, 
    OPC_CheckChild1Integer, 0, 
    OPC_RecordChild2,
    OPC_SwitchType , 30, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTs16f16a), 0,
                   MVT::v8i16, 5, 0, 1, 2, 3, 4, 
    30, MVT::v4i32,
     OPC_CheckChild2Type, MVT::v4f32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTs32f32a), 0,
                   MVT::v4i32, 5, 0, 1, 2, 3, 4, 
    0,
   69, 
    OPC_CheckChild1Integer, 2, 
    OPC_RecordChild2,
    OPC_SwitchType , 30, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTu16f16a), 0,
                   MVT::v8i16, 5, 0, 1, 2, 3, 4, 
    30, MVT::v4i32,
     OPC_CheckChild2Type, MVT::v4f32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTu32f32a), 0,
                   MVT::v4i32, 5, 0, 1, 2, 3, 4, 
    0,
   0, 
  5|128,1, 
   OPC_CheckChild0Integer, 38|128,38, 
   OPC_Scope, 63, 
    OPC_CheckChild1Integer, 0, 
    OPC_RecordChild2,
    OPC_SwitchType , 27, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTs16f16a), 0,
                   MVT::v8i16, 5, 1, 3, 2, 4, 0, 
    27, MVT::v4i32,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4f32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTs32f32a), 0,
                   MVT::v4i32, 5, 1, 3, 2, 4, 0, 
    0,
   63, 
    OPC_CheckChild1Integer, 2, 
    OPC_RecordChild2,
    OPC_SwitchType , 27, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTu16f16a), 0,
                   MVT::v8i16, 5, 1, 3, 2, 4, 0, 
    27, MVT::v4i32,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4f32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTu32f32a), 0,
                   MVT::v4i32, 5, 1, 3, 2, 4, 0, 
    0,
   0, 
  17|128,1, 
   OPC_CheckChild0Integer, 44|128,38, 
   OPC_Scope, 69, 
    OPC_CheckChild1Integer, 0, 
    OPC_RecordChild2,
    OPC_SwitchType , 30, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTs16f16n), 0,
                   MVT::v8i16, 5, 0, 1, 2, 3, 4, 
    30, MVT::v4i32,
     OPC_CheckChild2Type, MVT::v4f32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTs32f32n), 0,
                   MVT::v4i32, 5, 0, 1, 2, 3, 4, 
    0,
   69, 
    OPC_CheckChild1Integer, 2, 
    OPC_RecordChild2,
    OPC_SwitchType , 30, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTu16f16n), 0,
                   MVT::v8i16, 5, 0, 1, 2, 3, 4, 
    30, MVT::v4i32,
     OPC_CheckChild2Type, MVT::v4f32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTu32f32n), 0,
                   MVT::v4i32, 5, 0, 1, 2, 3, 4, 
    0,
   0, 
  5|128,1, 
   OPC_CheckChild0Integer, 46|128,38, 
   OPC_Scope, 63, 
    OPC_CheckChild1Integer, 0, 
    OPC_RecordChild2,
    OPC_SwitchType , 27, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTs16f16n), 0,
                   MVT::v8i16, 5, 1, 3, 2, 4, 0, 
    27, MVT::v4i32,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4f32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTs32f32n), 0,
                   MVT::v4i32, 5, 1, 3, 2, 4, 0, 
    0,
   63, 
    OPC_CheckChild1Integer, 2, 
    OPC_RecordChild2,
    OPC_SwitchType , 27, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTu16f16n), 0,
                   MVT::v8i16, 5, 1, 3, 2, 4, 0, 
    27, MVT::v4i32,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4f32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTu32f32n), 0,
                   MVT::v4i32, 5, 1, 3, 2, 4, 0, 
    0,
   0, 
  17|128,1, 
   OPC_CheckChild0Integer, 48|128,38, 
   OPC_Scope, 69, 
    OPC_CheckChild1Integer, 0, 
    OPC_RecordChild2,
    OPC_SwitchType , 30, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTs16f16p), 0,
                   MVT::v8i16, 5, 0, 1, 2, 3, 4, 
    30, MVT::v4i32,
     OPC_CheckChild2Type, MVT::v4f32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTs32f32p), 0,
                   MVT::v4i32, 5, 0, 1, 2, 3, 4, 
    0,
   69, 
    OPC_CheckChild1Integer, 2, 
    OPC_RecordChild2,
    OPC_SwitchType , 30, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTu16f16p), 0,
                   MVT::v8i16, 5, 0, 1, 2, 3, 4, 
    30, MVT::v4i32,
     OPC_CheckChild2Type, MVT::v4f32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTu32f32p), 0,
                   MVT::v4i32, 5, 0, 1, 2, 3, 4, 
    0,
   0, 
  5|128,1, 
   OPC_CheckChild0Integer, 50|128,38, 
   OPC_Scope, 63, 
    OPC_CheckChild1Integer, 0, 
    OPC_RecordChild2,
    OPC_SwitchType , 27, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTs16f16p), 0,
                   MVT::v8i16, 5, 1, 3, 2, 4, 0, 
    27, MVT::v4i32,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4f32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTs32f32p), 0,
                   MVT::v4i32, 5, 1, 3, 2, 4, 0, 
    0,
   63, 
    OPC_CheckChild1Integer, 2, 
    OPC_RecordChild2,
    OPC_SwitchType , 27, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTu16f16p), 0,
                   MVT::v8i16, 5, 1, 3, 2, 4, 0, 
    27, MVT::v4i32,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4f32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTu32f32p), 0,
                   MVT::v4i32, 5, 1, 3, 2, 4, 0, 
    0,
   0, 
  17|128,1, 
   OPC_CheckChild0Integer, 40|128,38, 
   OPC_Scope, 69, 
    OPC_CheckChild1Integer, 0, 
    OPC_RecordChild2,
    OPC_SwitchType , 30, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTs16f16m), 0,
                   MVT::v8i16, 5, 0, 1, 2, 3, 4, 
    30, MVT::v4i32,
     OPC_CheckChild2Type, MVT::v4f32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTs32f32m), 0,
                   MVT::v4i32, 5, 0, 1, 2, 3, 4, 
    0,
   69, 
    OPC_CheckChild1Integer, 2, 
    OPC_RecordChild2,
    OPC_SwitchType , 30, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTu16f16m), 0,
                   MVT::v8i16, 5, 0, 1, 2, 3, 4, 
    30, MVT::v4i32,
     OPC_CheckChild2Type, MVT::v4f32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTu32f32m), 0,
                   MVT::v4i32, 5, 0, 1, 2, 3, 4, 
    0,
   0, 
  5|128,1, 
   OPC_CheckChild0Integer, 42|128,38, 
   OPC_Scope, 63, 
    OPC_CheckChild1Integer, 0, 
    OPC_RecordChild2,
    OPC_SwitchType , 27, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTs16f16m), 0,
                   MVT::v8i16, 5, 1, 3, 2, 4, 0, 
    27, MVT::v4i32,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4f32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTs32f32m), 0,
                   MVT::v4i32, 5, 1, 3, 2, 4, 0, 
    0,
   63, 
    OPC_CheckChild1Integer, 2, 
    OPC_RecordChild2,
    OPC_SwitchType , 27, MVT::v8i16,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTu16f16m), 0,
                   MVT::v8i16, 5, 1, 3, 2, 4, 0, 
    27, MVT::v4i32,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4f32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTu32f32m), 0,
                   MVT::v4i32, 5, 1, 3, 2, 4, 0, 
    0,
   0, 
  126|128,1, 
   OPC_CheckChild0Integer, 26|128,38, 
   OPC_RecordChild1,
   OPC_SwitchType , 60, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_Scope, 27, 
     OPC_CheckChild2Integer, 0, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTs16f16z), 0,
                   MVT::v8i16, 5, 0, 3, 1, 4, 2, 
    27, 
     OPC_CheckChild2Integer, 2, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTu16f16z), 0,
                   MVT::v8i16, 5, 0, 3, 1, 4, 2, 
    0, 
   60, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_Scope, 27, 
     OPC_CheckChild2Integer, 0, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTs32f32z), 0,
                   MVT::v4i32, 5, 0, 3, 1, 4, 2, 
    27, 
     OPC_CheckChild2Integer, 2, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTu32f32z), 0,
                   MVT::v4i32, 5, 0, 3, 1, 4, 2, 
    0, 
   60, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 27, 
     OPC_CheckChild2Integer, 0, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTf16s16n), 0,
                   MVT::v8f16, 5, 0, 3, 1, 4, 2, 
    27, 
     OPC_CheckChild2Integer, 2, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTf16u16n), 0,
                   MVT::v8f16, 5, 0, 3, 1, 4, 2, 
    0, 
   60, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 27, 
     OPC_CheckChild2Integer, 0, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4f32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTf32s32n), 0,
                   MVT::v4f32, 5, 0, 3, 1, 4, 2, 
    27, 
     OPC_CheckChild2Integer, 2, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4f32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTf32u32n), 0,
                   MVT::v4f32, 5, 0, 3, 1, 4, 2, 
    0, 
   0,
  24|128,1, 
   OPC_CheckChild0Integer, 116|128,38, 
   OPC_RecordChild1,
   OPC_SwitchType , 71, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 31, 
     OPC_CheckChild3Integer, 0, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLBp8), 0,
                   MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
    31, 
     OPC_CheckChild3Integer, 2, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLTp8), 0,
                   MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   71, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 31, 
     OPC_CheckChild3Integer, 0, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLBp16), 0,
                   MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
    31, 
     OPC_CheckChild3Integer, 2, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLTp16), 0,
                   MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   0,
  12|128,1, 
   OPC_CheckChild0Integer, 54|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 65, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 28, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLBp8), 0,
                   MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
    28, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLTp8), 0,
                   MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   65, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 28, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLBp16), 0,
                   MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
    28, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULLTp16), 0,
                   MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   0,
  79|128,1, 
   OPC_CheckChild0Integer, 50|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 65, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 28, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULHs8), 0,
                   MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
    28, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULHu8), 0,
                   MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   65, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 28, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULHs16), 0,
                   MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
    28, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULHu16), 0,
                   MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   65, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 28, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULHs32), 0,
                   MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
    28, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULHu32), 0,
                   MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   0,
  97|128,1, 
   OPC_CheckChild0Integer, 112|128,38, 
   OPC_RecordChild1,
   OPC_SwitchType , 71, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 31, 
     OPC_CheckChild3Integer, 0, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULHs8), 0,
                   MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
    31, 
     OPC_CheckChild3Integer, 2, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULHu8), 0,
                   MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   71, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 31, 
     OPC_CheckChild3Integer, 0, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULHs16), 0,
                   MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
    31, 
     OPC_CheckChild3Integer, 2, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULHu16), 0,
                   MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   71, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 31, 
     OPC_CheckChild3Integer, 0, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULHs32), 0,
                   MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
    31, 
     OPC_CheckChild3Integer, 2, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULHu32), 0,
                   MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   0,
  79|128,1, 
   OPC_CheckChild0Integer, 82|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 65, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 28, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRMULHs8), 0,
                   MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
    28, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRMULHu8), 0,
                   MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   65, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 28, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRMULHs16), 0,
                   MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
    28, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRMULHu16), 0,
                   MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   65, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 28, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRMULHs32), 0,
                   MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
    28, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRMULHu32), 0,
                   MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   0,
  97|128,1, 
   OPC_CheckChild0Integer, 54|128,39, 
   OPC_RecordChild1,
   OPC_SwitchType , 71, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_Scope, 31, 
     OPC_CheckChild3Integer, 0, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRMULHs8), 0,
                   MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
    31, 
     OPC_CheckChild3Integer, 2, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRMULHu8), 0,
                   MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   71, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 31, 
     OPC_CheckChild3Integer, 0, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRMULHs16), 0,
                   MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
    31, 
     OPC_CheckChild3Integer, 2, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRMULHu16), 0,
                   MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   71, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 31, 
     OPC_CheckChild3Integer, 0, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRMULHs32), 0,
                   MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
    31, 
     OPC_CheckChild3Integer, 2, 
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRMULHu32), 0,
                   MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   0,
  116, 
   OPC_CheckChild0Integer, 110|128,38, 
   OPC_RecordChild1,
   OPC_SwitchType , 53, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_Scope, 22, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMOVNi32bh), 0,
                   MVT::v8i16, 5, 0, 1, 3, 2, 4, 
    22, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i1,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMOVNi32th), 0,
                   MVT::v8i16, 5, 0, 1, 3, 2, 4, 
    0, 
   53, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_Scope, 22, 
     OPC_CheckChild3Integer, 0, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMOVNi16bh), 0,
                   MVT::v16i8, 5, 0, 1, 3, 2, 4, 
    22, 
     OPC_CheckChild3Integer, 2, 
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMOVNi16th), 0,
                   MVT::v16i8, 5, 0, 1, 3, 2, 4, 
    0, 
   0,
  123, 
   OPC_CheckChild0Integer, 84|128,39, 
   OPC_RecordChild1,
   OPC_Scope, 38, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 7,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSLIimm8), 0,
                  MVT::v16i8, 6, 0, 1, 3, 4, 5, 6, 
   38, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 35,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSLIimm16), 0,
                  MVT::v8i16, 6, 0, 1, 3, 4, 5, 6, 
   38, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSLIimm32), 0,
                  MVT::v4i32, 6, 0, 1, 3, 4, 5, 6, 
   0, 
  123, 
   OPC_CheckChild0Integer, 86|128,39, 
   OPC_RecordChild1,
   OPC_Scope, 38, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 7,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i1,
    OPC_CheckType, MVT::v16i8,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSLIimm8), 0,
                  MVT::v16i8, 6, 0, 1, 4, 5, 3, 6, 
   38, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 35,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckType, MVT::v8i16,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSLIimm16), 0,
                  MVT::v8i16, 6, 0, 1, 4, 5, 3, 6, 
   38, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 32,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckType, MVT::v4i32,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSLIimm32), 0,
                  MVT::v4i32, 6, 0, 1, 4, 5, 3, 6, 
   0, 
  123, 
   OPC_CheckChild0Integer, 88|128,39, 
   OPC_RecordChild1,
   OPC_Scope, 38, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 36,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSRIimm8), 0,
                  MVT::v16i8, 6, 0, 1, 3, 4, 5, 6, 
   38, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSRIimm16), 0,
                  MVT::v8i16, 6, 0, 1, 3, 4, 5, 6, 
   38, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 1,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSRIimm32), 0,
                  MVT::v4i32, 6, 0, 1, 3, 4, 5, 6, 
   0, 
  123, 
   OPC_CheckChild0Integer, 90|128,39, 
   OPC_RecordChild1,
   OPC_Scope, 38, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 36,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i1,
    OPC_CheckType, MVT::v16i8,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSRIimm8), 0,
                  MVT::v16i8, 6, 0, 1, 4, 5, 3, 6, 
   38, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 37,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckType, MVT::v8i16,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSRIimm16), 0,
                  MVT::v8i16, 6, 0, 1, 4, 5, 3, 6, 
   38, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 1,
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckType, MVT::v4i32,
    OPC_EmitConvertToTarget, 2,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSRIimm32), 0,
                  MVT::v4i32, 6, 0, 1, 4, 5, 3, 6, 
   0, 
  4|128,1, 
   OPC_CheckChild0Integer, 26|128,39, 
   OPC_RecordChild1,
   OPC_Scope, 41, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 7,
    OPC_MoveParent,
    OPC_CheckType, MVT::v16i8,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHLU_imms8), 0,
                  MVT::v16i8, 6, 0, 2, 3, 4, 5, 6, 
   41, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 35,
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHLU_imms16), 0,
                  MVT::v8i16, 6, 0, 2, 3, 4, 5, 6, 
   41, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 32,
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHLU_imms32), 0,
                  MVT::v4i32, 6, 0, 2, 3, 4, 5, 6, 
   0, 
  123, 
   OPC_CheckChild0Integer, 28|128,39, 
   OPC_RecordChild1,
   OPC_Scope, 38, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 7,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i8,
    OPC_CheckType, MVT::v16i8,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHLU_imms8), 0,
                  MVT::v16i8, 6, 0, 4, 5, 2, 6, 3, 
   38, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 35,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i16,
    OPC_CheckType, MVT::v8i16,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHLU_imms16), 0,
                  MVT::v8i16, 6, 0, 4, 5, 2, 6, 3, 
   38, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 32,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i32,
    OPC_CheckType, MVT::v4i32,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQSHLU_imms32), 0,
                  MVT::v4i32, 6, 0, 4, 5, 2, 6, 3, 
   0, 
  1|128,1, 
   OPC_CheckChild0Integer, 84|128,37, 
   OPC_RecordChild1,
   OPC_Scope, 40, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 7,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i8,
    OPC_CheckType, MVT::v16i8,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_immi8), 0,
                  MVT::v16i8, 6, 0, 4, 5, 2, 6, 3, 
   40, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 35,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i16,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_immi16), 0,
                  MVT::v8i16, 6, 0, 4, 5, 2, 6, 3, 
   40, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 32,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i32,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSHL_immi32), 0,
                  MVT::v4i32, 6, 0, 4, 5, 2, 6, 3, 
   0, 
  2|128,1, 
   OPC_CheckChild0Integer, 54|128,40, 
   OPC_RecordChild1,
   OPC_Scope, 30, 
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTf2xsd), 0,
                  MVT::v2i32, 4, 0, 2, 3, 4, 
   30, 
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTh2xsd), 0,
                  MVT::v4i16, 4, 0, 2, 3, 4, 
   30, 
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTf2xsq), 0,
                  MVT::v4i32, 4, 0, 2, 3, 4, 
   30, 
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTh2xsq), 0,
                  MVT::v8i16, 4, 0, 2, 3, 4, 
   0, 
  2|128,1, 
   OPC_CheckChild0Integer, 56|128,40, 
   OPC_RecordChild1,
   OPC_Scope, 30, 
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTf2xud), 0,
                  MVT::v2i32, 4, 0, 2, 3, 4, 
   30, 
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTh2xud), 0,
                  MVT::v4i16, 4, 0, 2, 3, 4, 
   30, 
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTf2xuq), 0,
                  MVT::v4i32, 4, 0, 2, 3, 4, 
   30, 
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTh2xuq), 0,
                  MVT::v8i16, 4, 0, 2, 3, 4, 
   0, 
  2|128,3, 
   OPC_CheckChild0Integer, 110|128,36, 
   OPC_RecordChild1,
   OPC_Scope, 75, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 38, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADD_qr_i8), 0,
                   MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
    31, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDi8), 0,
                   MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   75, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 38, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADD_qr_i16), 0,
                   MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
    31, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDi16), 0,
                   MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   75, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 38, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADD_qr_i32), 0,
                   MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
    31, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDi32), 0,
                   MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   75, 
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_Scope, 38, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v4f32,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4f32,
     OPC_CheckType, MVT::v4f32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADD_qr_f32), 0,
                   MVT::v4f32, 6, 0, 1, 4, 2, 5, 3, 
    31, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4f32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4f32,
     OPC_CheckType, MVT::v4f32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDf32), 0,
                   MVT::v4f32, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   75, 
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_Scope, 38, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADD_qr_f16), 0,
                   MVT::v8f16, 6, 0, 1, 4, 2, 5, 3, 
    31, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VADDf16), 0,
                   MVT::v8f16, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   0, 
  2|128,3, 
   OPC_CheckChild0Integer, 100|128,37, 
   OPC_RecordChild1,
   OPC_Scope, 75, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 38, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSUB_qr_i8), 0,
                   MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
    31, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSUBi8), 0,
                   MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   75, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 38, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSUB_qr_i16), 0,
                   MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
    31, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSUBi16), 0,
                   MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   75, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 38, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSUB_qr_i32), 0,
                   MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
    31, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSUBi32), 0,
                   MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   75, 
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_Scope, 38, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v4f32,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4f32,
     OPC_CheckType, MVT::v4f32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSUB_qr_f32), 0,
                   MVT::v4f32, 6, 0, 1, 4, 2, 5, 3, 
    31, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4f32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4f32,
     OPC_CheckType, MVT::v4f32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSUBf32), 0,
                   MVT::v4f32, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   75, 
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_Scope, 38, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSUB_qr_f16), 0,
                   MVT::v8f16, 6, 0, 1, 4, 2, 5, 3, 
    31, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSUBf16), 0,
                   MVT::v8f16, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   0, 
  2|128,3, 
   OPC_CheckChild0Integer, 48|128,37, 
   OPC_RecordChild1,
   OPC_Scope, 75, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 38, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMUL_qr_i8), 0,
                   MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
    31, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULi8), 0,
                   MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   75, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 38, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMUL_qr_i16), 0,
                   MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
    31, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULi16), 0,
                   MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   75, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 38, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMUL_qr_i32), 0,
                   MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
    31, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULi32), 0,
                   MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   75, 
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_Scope, 38, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMUL_qr_f16), 0,
                   MVT::v8f16, 6, 0, 1, 4, 2, 5, 3, 
    31, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULf16), 0,
                   MVT::v8f16, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   75, 
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_Scope, 38, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v4f32,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4f32,
     OPC_CheckType, MVT::v4f32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMUL_qr_f32), 0,
                   MVT::v4f32, 6, 0, 1, 4, 2, 5, 3, 
    31, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4f32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4f32,
     OPC_CheckType, MVT::v4f32,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMULf32), 0,
                   MVT::v4f32, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   0, 
  106|128,1, 
   OPC_CheckChild0Integer, 72|128,37, 
   OPC_RecordChild1,
   OPC_Scope, 75, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 38, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULH_qr_s8), 0,
                   MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
    31, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULHi8), 0,
                   MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   75, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 38, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULH_qr_s16), 0,
                   MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
    31, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULHi16), 0,
                   MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   75, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 38, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULH_qr_s32), 0,
                   MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
    31, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULHi32), 0,
                   MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   0, 
  124|128,1, 
   OPC_CheckChild0Integer, 2|128,39, 
   OPC_RecordChild1,
   OPC_Scope, 81, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 41, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULH_qr_s8), 0,
                   MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
    34, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULHi8), 0,
                   MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   81, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 41, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULH_qr_s16), 0,
                   MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
    34, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULHi16), 0,
                   MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   81, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 41, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULH_qr_s32), 0,
                   MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
    34, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMULHi32), 0,
                   MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   0, 
  106|128,1, 
   OPC_CheckChild0Integer, 76|128,37, 
   OPC_RecordChild1,
   OPC_Scope, 75, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 38, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMULH_qr_s8), 0,
                   MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
    31, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v16i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMULHi8), 0,
                   MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   75, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 38, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMULH_qr_s16), 0,
                   MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
    31, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMULHi16), 0,
                   MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   75, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 38, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMULH_qr_s32), 0,
                   MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
    31, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4i1,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMULHi32), 0,
                   MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
    0, 
   0, 
  124|128,1, 
   OPC_CheckChild0Integer, 20|128,39, 
   OPC_RecordChild1,
   OPC_Scope, 81, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_Scope, 41, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v16i8,
     OPC_MoveParent,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMULH_qr_s8), 0,
                   MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
    34, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v16i8,
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMULHi8), 0,
                   MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   81, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_Scope, 41, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v8i16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMULH_qr_s16), 0,
                   MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
    34, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8i16,
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMULHi16), 0,
                   MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   81, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_Scope, 41, 
     OPC_MoveChild2,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v4i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMULH_qr_s32), 0,
                   MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
    34, 
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPatternPredicate, 8,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMULHi32), 0,
                   MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
    0, 
   0, 
  28|128,1, 
   OPC_CheckChild0Integer, 78|128,40, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VHADDsv4i16), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VHADDsv2i32), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VHADDsv8i16), 0,
                  MVT::v8i16, 4, 0, 1, 2, 3, 
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VHADDsv4i32), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VHADDsv8i8), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VHADDsv16i8), 0,
                  MVT::v16i8, 4, 0, 1, 2, 3, 
   0,
  28|128,1, 
   OPC_CheckChild0Integer, 80|128,40, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VHADDuv4i16), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VHADDuv2i32), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VHADDuv8i16), 0,
                  MVT::v8i16, 4, 0, 1, 2, 3, 
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VHADDuv4i32), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VHADDuv8i8), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VHADDuv16i8), 0,
                  MVT::v16i8, 4, 0, 1, 2, 3, 
   0,
  28|128,1, 
   OPC_CheckChild0Integer, 70|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRHADDsv4i16), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRHADDsv2i32), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRHADDsv8i16), 0,
                  MVT::v8i16, 4, 0, 1, 2, 3, 
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRHADDsv4i32), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRHADDsv8i8), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRHADDsv16i8), 0,
                  MVT::v16i8, 4, 0, 1, 2, 3, 
   0,
  28|128,1, 
   OPC_CheckChild0Integer, 72|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRHADDuv4i16), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRHADDuv2i32), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRHADDuv8i16), 0,
                  MVT::v8i16, 4, 0, 1, 2, 3, 
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRHADDuv4i32), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRHADDuv8i8), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRHADDuv16i8), 0,
                  MVT::v16i8, 4, 0, 1, 2, 3, 
   0,
  81, 
   OPC_CheckChild0Integer, 64|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRADDHNv8i8), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRADDHNv4i16), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRADDHNv2i32), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   0,
  56, 
   OPC_CheckChild0Integer, 2|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VMULpd), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VMULpq), 0,
                  MVT::v16i8, 4, 0, 1, 2, 3, 
   0,
  48, 
   OPC_CheckChild0Integer, 124|128,40, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VMULLp8), 0,
                  MVT::v8i16, 4, 0, 1, 2, 3, 
   15, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate, 39,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VMULLp64), 0,
                  MVT::v2i64, 2, 0, 1, 
   0,
  25, 
   OPC_CheckChild0Integer, 18|128,40, 
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v16i8,
   OPC_RecordChild3,
   OPC_CheckChild3Type, MVT::v16i8,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VSMMLA), 0,
                 MVT::v4i32, 3, 0, 1, 2, 
  25, 
   OPC_CheckChild0Integer, 22|128,40, 
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v16i8,
   OPC_RecordChild3,
   OPC_CheckChild3Type, MVT::v16i8,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VUMMLA), 0,
                 MVT::v4i32, 3, 0, 1, 2, 
  25, 
   OPC_CheckChild0Integer, 26|128,40, 
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::v4i32,
   OPC_RecordChild2,
   OPC_CheckChild2Type, MVT::v16i8,
   OPC_RecordChild3,
   OPC_CheckChild3Type, MVT::v16i8,
   OPC_CheckType, MVT::v4i32,
   OPC_CheckPatternPredicate, 34,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VUSMMLA), 0,
                 MVT::v4i32, 3, 0, 1, 2, 
  28|128,1, 
   OPC_CheckChild0Integer, 82|128,40, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VHSUBsv4i16), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VHSUBsv2i32), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VHSUBsv8i16), 0,
                  MVT::v8i16, 4, 0, 1, 2, 3, 
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VHSUBsv4i32), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VHSUBsv8i8), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VHSUBsv16i8), 0,
                  MVT::v16i8, 4, 0, 1, 2, 3, 
   0,
  28|128,1, 
   OPC_CheckChild0Integer, 84|128,40, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VHSUBuv4i16), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VHSUBuv2i32), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VHSUBuv8i16), 0,
                  MVT::v8i16, 4, 0, 1, 2, 3, 
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VHSUBuv4i32), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VHSUBuv8i8), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VHSUBuv16i8), 0,
                  MVT::v16i8, 4, 0, 1, 2, 3, 
   0,
  81, 
   OPC_CheckChild0Integer, 96|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSUBHNv8i8), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSUBHNv4i16), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSUBHNv2i32), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   0,
  106, 
   OPC_CheckChild0Integer, 34|128,40, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VACGEfd), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VACGEfq), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VACGEhd), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VACGEhq), 0,
                  MVT::v8i16, 4, 0, 1, 2, 3, 
   0,
  106, 
   OPC_CheckChild0Integer, 36|128,40, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VACGTfd), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VACGTfq), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VACGThd), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VACGThq), 0,
                  MVT::v8i16, 4, 0, 1, 2, 3, 
   0,
  40|128,2, 
   OPC_CheckChild0Integer, 38|128,40, 
   OPC_RecordChild1,
   OPC_SwitchType , 27, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                  MVT::v8i8, 5, 0, 1, 2, 3, 4, 
   27, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                  MVT::v4i16, 5, 0, 1, 2, 3, 4, 
   27, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                  MVT::v2i32, 5, 0, 1, 2, 3, 4, 
   27, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v1i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                  MVT::v1i64, 5, 0, 1, 2, 3, 4, 
   27, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                  MVT::v16i8, 5, 0, 1, 2, 3, 4, 
   27, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                  MVT::v8i16, 5, 0, 1, 2, 3, 4, 
   27, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                  MVT::v4i32, 5, 0, 1, 2, 3, 4, 
   27, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v2i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                  MVT::v2i64, 5, 0, 1, 2, 3, 4, 
   27, MVT::v2f32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2f32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPd), 0,
                  MVT::v2f32, 5, 0, 1, 2, 3, 4, 
   27, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBSPq), 0,
                  MVT::v4f32, 5, 0, 1, 2, 3, 4, 
   0,
  0|128,2, 
   OPC_CheckChild0Integer, 28|128,40, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VABDsv4i16), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VABDsv2i32), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VABDsv8i16), 0,
                  MVT::v8i16, 4, 0, 1, 2, 3, 
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VABDsv4i32), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VABDsv8i8), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VABDsv16i8), 0,
                  MVT::v16i8, 4, 0, 1, 2, 3, 
   23, MVT::v2f32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VABDfd), 0,
                  MVT::v2f32, 4, 0, 1, 2, 3, 
   23, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VABDfq), 0,
                  MVT::v4f32, 4, 0, 1, 2, 3, 
   23, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VABDhd), 0,
                  MVT::v4f16, 4, 0, 1, 2, 3, 
   23, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VABDhq), 0,
                  MVT::v8f16, 4, 0, 1, 2, 3, 
   0,
  28|128,1, 
   OPC_CheckChild0Integer, 30|128,40, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VABDuv4i16), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VABDuv2i32), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VABDuv8i16), 0,
                  MVT::v8i16, 4, 0, 1, 2, 3, 
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VABDuv4i32), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VABDuv8i8), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VABDuv16i8), 0,
                  MVT::v16i8, 4, 0, 1, 2, 3, 
   0,
  3|128,1, 
   OPC_CheckChild0Integer, 8|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADDi8), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADDi16), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADDi32), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   23, MVT::v2f32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADDf), 0,
                  MVT::v2f32, 4, 0, 1, 2, 3, 
   23, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADDh), 0,
                  MVT::v4f16, 4, 0, 1, 2, 3, 
   0,
  4|128,1, 
   OPC_CheckChild0Integer, 10|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADDLsv8i8), 0,
                  MVT::v4i16, 3, 0, 1, 2, 
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADDLsv4i16), 0,
                  MVT::v2i32, 3, 0, 1, 2, 
   19, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADDLsv2i32), 0,
                  MVT::v1i64, 3, 0, 1, 2, 
   19, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADDLsv16i8), 0,
                  MVT::v8i16, 3, 0, 1, 2, 
   19, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADDLsv8i16), 0,
                  MVT::v4i32, 3, 0, 1, 2, 
   19, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADDLsv4i32), 0,
                  MVT::v2i64, 3, 0, 1, 2, 
   0,
  4|128,1, 
   OPC_CheckChild0Integer, 12|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADDLuv8i8), 0,
                  MVT::v4i16, 3, 0, 1, 2, 
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADDLuv4i16), 0,
                  MVT::v2i32, 3, 0, 1, 2, 
   19, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADDLuv2i32), 0,
                  MVT::v1i64, 3, 0, 1, 2, 
   19, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADDLuv16i8), 0,
                  MVT::v8i16, 3, 0, 1, 2, 
   19, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADDLuv8i16), 0,
                  MVT::v4i32, 3, 0, 1, 2, 
   19, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADDLuv4i32), 0,
                  MVT::v2i64, 3, 0, 1, 2, 
   0,
  28|128,1, 
   OPC_CheckChild0Integer, 4|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADALsv8i8), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADALsv4i16), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   23, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADALsv2i32), 0,
                  MVT::v1i64, 4, 0, 1, 2, 3, 
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADALsv16i8), 0,
                  MVT::v8i16, 4, 0, 1, 2, 3, 
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADALsv8i16), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   23, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADALsv4i32), 0,
                  MVT::v2i64, 4, 0, 1, 2, 3, 
   0,
  28|128,1, 
   OPC_CheckChild0Integer, 6|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADALuv8i8), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADALuv4i16), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   23, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADALuv2i32), 0,
                  MVT::v1i64, 4, 0, 1, 2, 3, 
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADALuv16i8), 0,
                  MVT::v8i16, 4, 0, 1, 2, 3, 
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADALuv8i16), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   23, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPADALuv4i32), 0,
                  MVT::v2i64, 4, 0, 1, 2, 3, 
   0,
  3|128,1, 
   OPC_CheckChild0Integer, 14|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPMAXs8), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPMAXs16), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPMAXs32), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   23, MVT::v2f32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPMAXf), 0,
                  MVT::v2f32, 4, 0, 1, 2, 3, 
   23, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPMAXh), 0,
                  MVT::v4f16, 4, 0, 1, 2, 3, 
   0,
  81, 
   OPC_CheckChild0Integer, 16|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPMAXu8), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPMAXu16), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPMAXu32), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   0,
  3|128,1, 
   OPC_CheckChild0Integer, 18|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPMINs8), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPMINs16), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPMINs32), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   23, MVT::v2f32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPMINf), 0,
                  MVT::v2f32, 4, 0, 1, 2, 3, 
   23, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPMINh), 0,
                  MVT::v4f16, 4, 0, 1, 2, 3, 
   0,
  81, 
   OPC_CheckChild0Integer, 20|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPMINu8), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPMINu16), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VPMINu32), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   0,
  4|128,1, 
   OPC_CheckChild0Integer, 66|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRECPEd), 0,
                  MVT::v2i32, 3, 0, 1, 2, 
   19, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRECPEq), 0,
                  MVT::v4i32, 3, 0, 1, 2, 
   19, MVT::v2f32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRECPEfd), 0,
                  MVT::v2f32, 3, 0, 1, 2, 
   19, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRECPEfq), 0,
                  MVT::v4f32, 3, 0, 1, 2, 
   19, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRECPEhd), 0,
                  MVT::v4f16, 3, 0, 1, 2, 
   19, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRECPEhq), 0,
                  MVT::v8f16, 3, 0, 1, 2, 
   0,
  4|128,1, 
   OPC_CheckChild0Integer, 92|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSQRTEd), 0,
                  MVT::v2i32, 3, 0, 1, 2, 
   19, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSQRTEq), 0,
                  MVT::v4i32, 3, 0, 1, 2, 
   19, MVT::v2f32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSQRTEfd), 0,
                  MVT::v2f32, 3, 0, 1, 2, 
   19, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSQRTEfq), 0,
                  MVT::v4f32, 3, 0, 1, 2, 
   19, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSQRTEhd), 0,
                  MVT::v4f16, 3, 0, 1, 2, 
   19, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSQRTEhq), 0,
                  MVT::v8f16, 3, 0, 1, 2, 
   0,
  78|128,1, 
   OPC_CheckChild0Integer, 100|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VSHLsv4i16), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VSHLsv2i32), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VSHLsv8i16), 0,
                  MVT::v8i16, 4, 0, 1, 2, 3, 
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VSHLsv4i32), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VSHLsv8i8), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VSHLsv16i8), 0,
                  MVT::v16i8, 4, 0, 1, 2, 3, 
   23, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VSHLsv1i64), 0,
                  MVT::v1i64, 4, 0, 1, 2, 3, 
   23, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VSHLsv2i64), 0,
                  MVT::v2i64, 4, 0, 1, 2, 3, 
   0,
  78|128,1, 
   OPC_CheckChild0Integer, 102|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VSHLuv4i16), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VSHLuv2i32), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VSHLuv8i16), 0,
                  MVT::v8i16, 4, 0, 1, 2, 3, 
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VSHLuv4i32), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VSHLuv8i8), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VSHLuv16i8), 0,
                  MVT::v16i8, 4, 0, 1, 2, 3, 
   23, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VSHLuv1i64), 0,
                  MVT::v1i64, 4, 0, 1, 2, 3, 
   23, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VSHLuv2i64), 0,
                  MVT::v2i64, 4, 0, 1, 2, 3, 
   0,
  78|128,1, 
   OPC_CheckChild0Integer, 88|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSHLsv4i16), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSHLsv2i32), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSHLsv8i16), 0,
                  MVT::v8i16, 4, 0, 1, 2, 3, 
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSHLsv4i32), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSHLsv8i8), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSHLsv16i8), 0,
                  MVT::v16i8, 4, 0, 1, 2, 3, 
   23, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSHLsv1i64), 0,
                  MVT::v1i64, 4, 0, 1, 2, 3, 
   23, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSHLsv2i64), 0,
                  MVT::v2i64, 4, 0, 1, 2, 3, 
   0,
  78|128,1, 
   OPC_CheckChild0Integer, 90|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSHLuv4i16), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSHLuv2i32), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSHLuv8i16), 0,
                  MVT::v8i16, 4, 0, 1, 2, 3, 
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSHLuv4i32), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSHLuv8i8), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSHLuv16i8), 0,
                  MVT::v16i8, 4, 0, 1, 2, 3, 
   23, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSHLuv1i64), 0,
                  MVT::v1i64, 4, 0, 1, 2, 3, 
   23, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSHLuv2i64), 0,
                  MVT::v2i64, 4, 0, 1, 2, 3, 
   0,
  78|128,1, 
   OPC_CheckChild0Integer, 58|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQSHLsv4i16), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQSHLsv2i32), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQSHLsv8i16), 0,
                  MVT::v8i16, 4, 0, 1, 2, 3, 
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQSHLsv4i32), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQSHLsv8i8), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQSHLsv16i8), 0,
                  MVT::v16i8, 4, 0, 1, 2, 3, 
   23, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQSHLsv1i64), 0,
                  MVT::v1i64, 4, 0, 1, 2, 3, 
   23, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQSHLsv2i64), 0,
                  MVT::v2i64, 4, 0, 1, 2, 3, 
   0,
  78|128,1, 
   OPC_CheckChild0Integer, 62|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQSHLuv4i16), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQSHLuv2i32), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQSHLuv8i16), 0,
                  MVT::v8i16, 4, 0, 1, 2, 3, 
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQSHLuv4i32), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQSHLuv8i8), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQSHLuv16i8), 0,
                  MVT::v16i8, 4, 0, 1, 2, 3, 
   23, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQSHLuv1i64), 0,
                  MVT::v1i64, 4, 0, 1, 2, 3, 
   23, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQSHLuv2i64), 0,
                  MVT::v2i64, 4, 0, 1, 2, 3, 
   0,
  78|128,1, 
   OPC_CheckChild0Integer, 48|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRSHLsv4i16), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRSHLsv2i32), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRSHLsv8i16), 0,
                  MVT::v8i16, 4, 0, 1, 2, 3, 
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRSHLsv4i32), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRSHLsv8i8), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRSHLsv16i8), 0,
                  MVT::v16i8, 4, 0, 1, 2, 3, 
   23, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRSHLsv1i64), 0,
                  MVT::v1i64, 4, 0, 1, 2, 3, 
   23, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRSHLsv2i64), 0,
                  MVT::v2i64, 4, 0, 1, 2, 3, 
   0,
  78|128,1, 
   OPC_CheckChild0Integer, 50|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRSHLuv4i16), 0,
                  MVT::v4i16, 4, 0, 1, 2, 3, 
   23, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRSHLuv2i32), 0,
                  MVT::v2i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRSHLuv8i16), 0,
                  MVT::v8i16, 4, 0, 1, 2, 3, 
   23, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRSHLuv4i32), 0,
                  MVT::v4i32, 4, 0, 1, 2, 3, 
   23, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRSHLuv8i8), 0,
                  MVT::v8i8, 4, 0, 1, 2, 3, 
   23, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRSHLuv16i8), 0,
                  MVT::v16i8, 4, 0, 1, 2, 3, 
   23, MVT::v1i64,
    OPC_CheckChild1Type, MVT::v1i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v1i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRSHLuv1i64), 0,
                  MVT::v1i64, 4, 0, 1, 2, 3, 
   23, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQRSHLuv2i64), 0,
                  MVT::v2i64, 4, 0, 1, 2, 3, 
   0,
  4|128,1, 
   OPC_CheckChild0Integer, 22|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQABSv8i8), 0,
                  MVT::v8i8, 3, 0, 1, 2, 
   19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQABSv4i16), 0,
                  MVT::v4i16, 3, 0, 1, 2, 
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQABSv2i32), 0,
                  MVT::v2i32, 3, 0, 1, 2, 
   19, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQABSv16i8), 0,
                  MVT::v16i8, 3, 0, 1, 2, 
   19, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQABSv8i16), 0,
                  MVT::v8i16, 3, 0, 1, 2, 
   19, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQABSv4i32), 0,
                  MVT::v4i32, 3, 0, 1, 2, 
   0,
  4|128,1, 
   OPC_CheckChild0Integer, 34|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQNEGv8i8), 0,
                  MVT::v8i8, 3, 0, 1, 2, 
   19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQNEGv4i16), 0,
                  MVT::v4i16, 3, 0, 1, 2, 
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQNEGv2i32), 0,
                  MVT::v2i32, 3, 0, 1, 2, 
   19, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQNEGv16i8), 0,
                  MVT::v16i8, 3, 0, 1, 2, 
   19, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQNEGv8i16), 0,
                  MVT::v8i16, 3, 0, 1, 2, 
   19, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQNEGv4i32), 0,
                  MVT::v4i32, 3, 0, 1, 2, 
   0,
  4|128,1, 
   OPC_CheckChild0Integer, 44|128,40, 
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCLSv8i8), 0,
                  MVT::v8i8, 3, 0, 1, 2, 
   19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCLSv4i16), 0,
                  MVT::v4i16, 3, 0, 1, 2, 
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCLSv2i32), 0,
                  MVT::v2i32, 3, 0, 1, 2, 
   19, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCLSv16i8), 0,
                  MVT::v16i8, 3, 0, 1, 2, 
   19, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCLSv8i16), 0,
                  MVT::v8i16, 3, 0, 1, 2, 
   19, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCLSv4i32), 0,
                  MVT::v4i32, 3, 0, 1, 2, 
   0,
  69, 
   OPC_CheckChild0Integer, 28|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQMOVNsv8i8), 0,
                  MVT::v8i8, 3, 0, 1, 2, 
   19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQMOVNsv4i16), 0,
                  MVT::v4i16, 3, 0, 1, 2, 
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQMOVNsv2i32), 0,
                  MVT::v2i32, 3, 0, 1, 2, 
   0,
  69, 
   OPC_CheckChild0Integer, 32|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQMOVNuv8i8), 0,
                  MVT::v8i8, 3, 0, 1, 2, 
   19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQMOVNuv4i16), 0,
                  MVT::v4i16, 3, 0, 1, 2, 
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQMOVNuv2i32), 0,
                  MVT::v2i32, 3, 0, 1, 2, 
   0,
  69, 
   OPC_CheckChild0Integer, 30|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v8i8,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQMOVNsuv8i8), 0,
                  MVT::v8i8, 3, 0, 1, 2, 
   19, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQMOVNsuv4i16), 0,
                  MVT::v4i16, 3, 0, 1, 2, 
   19, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VQMOVNsuv2i32), 0,
                  MVT::v2i32, 3, 0, 1, 2, 
   0,
  58, 
   OPC_CheckChild0Integer, 46|128,40, 
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTANSDf), 0,
                  MVT::v2i32, 1, 0, 
   11, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTANSQf), 0,
                  MVT::v4i32, 1, 0, 
   11, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTANSDh), 0,
                  MVT::v4i16, 1, 0, 
   11, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTANSQh), 0,
                  MVT::v8i16, 1, 0, 
   0,
  58, 
   OPC_CheckChild0Integer, 48|128,40, 
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTANUDf), 0,
                  MVT::v2i32, 1, 0, 
   11, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTANUQf), 0,
                  MVT::v4i32, 1, 0, 
   11, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTANUDh), 0,
                  MVT::v4i16, 1, 0, 
   11, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTANUQh), 0,
                  MVT::v8i16, 1, 0, 
   0,
  58, 
   OPC_CheckChild0Integer, 70|128,40, 
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTNNSDf), 0,
                  MVT::v2i32, 1, 0, 
   11, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTNNSQf), 0,
                  MVT::v4i32, 1, 0, 
   11, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTNNSDh), 0,
                  MVT::v4i16, 1, 0, 
   11, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTNNSQh), 0,
                  MVT::v8i16, 1, 0, 
   0,
  58, 
   OPC_CheckChild0Integer, 72|128,40, 
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTNNUDf), 0,
                  MVT::v2i32, 1, 0, 
   11, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTNNUQf), 0,
                  MVT::v4i32, 1, 0, 
   11, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTNNUDh), 0,
                  MVT::v4i16, 1, 0, 
   11, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTNNUQh), 0,
                  MVT::v8i16, 1, 0, 
   0,
  58, 
   OPC_CheckChild0Integer, 74|128,40, 
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTPNSDf), 0,
                  MVT::v2i32, 1, 0, 
   11, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTPNSQf), 0,
                  MVT::v4i32, 1, 0, 
   11, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTPNSDh), 0,
                  MVT::v4i16, 1, 0, 
   11, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTPNSQh), 0,
                  MVT::v8i16, 1, 0, 
   0,
  58, 
   OPC_CheckChild0Integer, 76|128,40, 
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTPNUDf), 0,
                  MVT::v2i32, 1, 0, 
   11, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTPNUQf), 0,
                  MVT::v4i32, 1, 0, 
   11, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTPNUDh), 0,
                  MVT::v4i16, 1, 0, 
   11, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTPNUQh), 0,
                  MVT::v8i16, 1, 0, 
   0,
  58, 
   OPC_CheckChild0Integer, 66|128,40, 
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTMNSDf), 0,
                  MVT::v2i32, 1, 0, 
   11, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTMNSQf), 0,
                  MVT::v4i32, 1, 0, 
   11, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTMNSDh), 0,
                  MVT::v4i16, 1, 0, 
   11, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTMNSQh), 0,
                  MVT::v8i16, 1, 0, 
   0,
  58, 
   OPC_CheckChild0Integer, 68|128,40, 
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::v2i32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTMNUDf), 0,
                  MVT::v2i32, 1, 0, 
   11, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTMNUQf), 0,
                  MVT::v4i32, 1, 0, 
   11, MVT::v4i16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTMNUDh), 0,
                  MVT::v4i16, 1, 0, 
   11, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTMNUQh), 0,
                  MVT::v8i16, 1, 0, 
   0,
  21, 
   OPC_CheckChild0Integer, 58|128,40, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 40,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTf2h), 0,
                 MVT::v4i16, 3, 0, 1, 2, 
  25, 
   OPC_CheckChild0Integer, 4|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 7,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VTBX1), 0,
                 MVT::v8i8, 5, 0, 1, 2, 3, 4, 
  15, 
   OPC_CheckChild0Integer, 108|128,39, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 39,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::AESD), 0,
                 MVT::v16i8, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 110|128,39, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 39,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::AESE), 0,
                 MVT::v16i8, 2, 0, 1, 
  13, 
   OPC_CheckChild0Integer, 112|128,39, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 39,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::AESIMC), 0,
                 MVT::v16i8, 1, 0, 
  13, 
   OPC_CheckChild0Integer, 114|128,39, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 39,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::AESMC), 0,
                 MVT::v16i8, 1, 0, 
  15, 
   OPC_CheckChild0Integer, 8|128,40, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 41,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::SHA1SU1), 0,
                 MVT::v4i32, 2, 0, 1, 
  15, 
   OPC_CheckChild0Integer, 14|128,40, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckPatternPredicate, 41,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::SHA256SU0), 0,
                 MVT::v4i32, 2, 0, 1, 
  17, 
   OPC_CheckChild0Integer, 6|128,40, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 41,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::SHA1SU0), 0,
                 MVT::v4i32, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 10|128,40, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 41,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::SHA256H), 0,
                 MVT::v4i32, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 12|128,40, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 41,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::SHA256H2), 0,
                 MVT::v4i32, 3, 0, 1, 2, 
  17, 
   OPC_CheckChild0Integer, 16|128,40, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 41,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::SHA256SU1), 0,
                 MVT::v4i32, 3, 0, 1, 2, 
  122, 
   OPC_CheckChild0Integer, 56|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 27, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMVN), 0,
                  MVT::v16i8, 5, 0, 3, 1, 4, 2, 
   27, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMVN), 0,
                  MVT::v8i16, 5, 0, 3, 1, 4, 2, 
   27, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMVN), 0,
                  MVT::v4i32, 5, 0, 3, 1, 4, 2, 
   27, MVT::v2i64,
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v2i64,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMVN), 0,
                  MVT::v2i64, 5, 0, 3, 1, 4, 2, 
   0,
  10|128,1, 
   OPC_CheckChild0Integer, 120|128,36, 
   OPC_RecordChild1,
   OPC_SwitchType , 31, 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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VAND), 0,
                  MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
   31, 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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VAND), 0,
                  MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
   31, 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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VAND), 0,
                  MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
   31, 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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VAND), 0,
                  MVT::v2i64, 6, 0, 1, 4, 2, 5, 3, 
   0,
  10|128,1, 
   OPC_CheckChild0Integer, 62|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 31, 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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORR), 0,
                  MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
   31, 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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORR), 0,
                  MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
   31, 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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORR), 0,
                  MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
   31, 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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORR), 0,
                  MVT::v2i64, 6, 0, 1, 4, 2, 5, 3, 
   0,
  10|128,1, 
   OPC_CheckChild0Integer, 2|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 31, 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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VEOR), 0,
                  MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
   31, 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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VEOR), 0,
                  MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
   31, 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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VEOR), 0,
                  MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
   31, 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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VEOR), 0,
                  MVT::v2i64, 6, 0, 1, 4, 2, 5, 3, 
   0,
  10|128,1, 
   OPC_CheckChild0Integer, 124|128,36, 
   OPC_RecordChild1,
   OPC_SwitchType , 31, 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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBIC), 0,
                  MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
   31, 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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBIC), 0,
                  MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
   31, 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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBIC), 0,
                  MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
   31, 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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBIC), 0,
                  MVT::v2i64, 6, 0, 1, 4, 2, 5, 3, 
   0,
  10|128,1, 
   OPC_CheckChild0Integer, 60|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 31, 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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORN), 0,
                  MVT::v16i8, 6, 0, 1, 4, 2, 5, 3, 
   31, 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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORN), 0,
                  MVT::v8i16, 6, 0, 1, 4, 2, 5, 3, 
   31, 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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORN), 0,
                  MVT::v4i32, 6, 0, 1, 4, 2, 5, 3, 
   31, 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_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VORN), 0,
                  MVT::v2i64, 6, 0, 1, 4, 2, 5, 3, 
   0,
  102, 
   OPC_CheckChild0Integer, 4|128,38, 
   OPC_RecordChild1,
   OPC_SwitchType , 30, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCLSs8), 0,
                  MVT::v16i8, 5, 0, 1, 2, 3, 4, 
   30, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCLSs16), 0,
                  MVT::v8i16, 5, 0, 1, 2, 3, 4, 
   30, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCLSs32), 0,
                  MVT::v4i32, 5, 0, 1, 2, 3, 4, 
   0,
  93, 
   OPC_CheckChild0Integer, 126|128,36, 
   OPC_RecordChild1,
   OPC_SwitchType , 27, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCLSs8), 0,
                  MVT::v16i8, 5, 0, 3, 1, 4, 2, 
   27, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCLSs16), 0,
                  MVT::v8i16, 5, 0, 3, 1, 4, 2, 
   27, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCLSs32), 0,
                  MVT::v4i32, 5, 0, 3, 1, 4, 2, 
   0,
  93, 
   OPC_CheckChild0Integer, 0|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 27, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCLZs8), 0,
                  MVT::v16i8, 5, 0, 3, 1, 4, 2, 
   27, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCLZs16), 0,
                  MVT::v8i16, 5, 0, 3, 1, 4, 2, 
   27, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCLZs32), 0,
                  MVT::v4i32, 5, 0, 3, 1, 4, 2, 
   0,
  23|128,1, 
   OPC_CheckChild0Integer, 108|128,36, 
   OPC_RecordChild1,
   OPC_SwitchType , 27, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABSs8), 0,
                  MVT::v16i8, 5, 0, 3, 1, 4, 2, 
   27, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABSs16), 0,
                  MVT::v8i16, 5, 0, 3, 1, 4, 2, 
   27, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABSs32), 0,
                  MVT::v4i32, 5, 0, 3, 1, 4, 2, 
   27, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABSf16), 0,
                  MVT::v8f16, 5, 0, 3, 1, 4, 2, 
   27, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VABSf32), 0,
                  MVT::v4f32, 5, 0, 3, 1, 4, 2, 
   0,
  93, 
   OPC_CheckChild0Integer, 68|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 27, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQABSs8), 0,
                  MVT::v16i8, 5, 0, 3, 1, 4, 2, 
   27, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQABSs16), 0,
                  MVT::v8i16, 5, 0, 3, 1, 4, 2, 
   27, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQABSs32), 0,
                  MVT::v4i32, 5, 0, 3, 1, 4, 2, 
   0,
  23|128,1, 
   OPC_CheckChild0Integer, 58|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 27, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VNEGs8), 0,
                  MVT::v16i8, 5, 0, 3, 1, 4, 2, 
   27, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VNEGs16), 0,
                  MVT::v8i16, 5, 0, 3, 1, 4, 2, 
   27, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VNEGs32), 0,
                  MVT::v4i32, 5, 0, 3, 1, 4, 2, 
   27, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VNEGf16), 0,
                  MVT::v8f16, 5, 0, 3, 1, 4, 2, 
   27, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VNEGf32), 0,
                  MVT::v4f32, 5, 0, 3, 1, 4, 2, 
   0,
  93, 
   OPC_CheckChild0Integer, 74|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 27, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i8,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQNEGs8), 0,
                  MVT::v16i8, 5, 0, 3, 1, 4, 2, 
   27, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i16,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQNEGs16), 0,
                  MVT::v8i16, 5, 0, 3, 1, 4, 2, 
   27, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQNEGs32), 0,
                  MVT::v4i32, 5, 0, 3, 1, 4, 2, 
   0,
  93, 
   OPC_CheckChild0Integer, 92|128,38, 
   OPC_RecordChild1,
   OPC_SwitchType , 27, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINAs8), 0,
                  MVT::v16i8, 5, 0, 1, 3, 2, 4, 
   27, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINAs16), 0,
                  MVT::v8i16, 5, 0, 1, 3, 2, 4, 
   27, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINAs32), 0,
                  MVT::v4i32, 5, 0, 1, 3, 2, 4, 
   0,
  93, 
   OPC_CheckChild0Integer, 88|128,38, 
   OPC_RecordChild1,
   OPC_SwitchType , 27, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v16i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXAs8), 0,
                  MVT::v16i8, 5, 0, 1, 3, 2, 4, 
   27, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXAs16), 0,
                  MVT::v8i16, 5, 0, 1, 3, 2, 4, 
   27, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXAs32), 0,
                  MVT::v4i32, 5, 0, 1, 3, 2, 4, 
   0,
  48|128,1, 
   OPC_CheckChild0Integer, 124|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 32, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBRSR8), 0,
                  MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
   32, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBRSR16), 0,
                  MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
   32, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBRSR32), 0,
                  MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
   32, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBRSR16), 0,
                  MVT::v8f16, 6, 0, 1, 2, 3, 4, 5, 
   32, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBRSR32), 0,
                  MVT::v4f32, 6, 0, 1, 2, 3, 4, 5, 
   0,
  33|128,1, 
   OPC_CheckChild0Integer, 126|128,37, 
   OPC_RecordChild1,
   OPC_SwitchType , 29, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBRSR8), 0,
                  MVT::v16i8, 6, 1, 2, 4, 3, 5, 0, 
   29, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBRSR16), 0,
                  MVT::v8i16, 6, 1, 2, 4, 3, 5, 0, 
   29, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBRSR32), 0,
                  MVT::v4i32, 6, 1, 2, 4, 3, 5, 0, 
   29, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBRSR16), 0,
                  MVT::v8f16, 6, 1, 2, 4, 3, 5, 0, 
   29, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VBRSR32), 0,
                  MVT::v4f32, 6, 1, 2, 4, 3, 5, 0, 
   0,
  99, 
   OPC_CheckChild0Integer, 96|128,38, 
   OPC_RecordChild1,
   OPC_SwitchType , 29, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLA_qr_i8), 0,
                  MVT::v16i8, 6, 0, 1, 2, 4, 3, 5, 
   29, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLA_qr_i16), 0,
                  MVT::v8i16, 6, 0, 1, 2, 4, 3, 5, 
   29, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLA_qr_i32), 0,
                  MVT::v4i32, 6, 0, 1, 2, 4, 3, 5, 
   0,
  99, 
   OPC_CheckChild0Integer, 98|128,38, 
   OPC_RecordChild1,
   OPC_SwitchType , 29, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLAS_qr_i8), 0,
                  MVT::v16i8, 6, 0, 1, 2, 4, 3, 5, 
   29, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLAS_qr_i16), 0,
                  MVT::v8i16, 6, 0, 1, 2, 4, 3, 5, 
   29, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMLAS_qr_i32), 0,
                  MVT::v4i32, 6, 0, 1, 2, 4, 3, 5, 
   0,
  99, 
   OPC_CheckChild0Integer, 122|128,38, 
   OPC_RecordChild1,
   OPC_SwitchType , 29, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLAH_qrs8), 0,
                  MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
   29, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLAH_qrs16), 0,
                  MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
   29, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLAH_qrs32), 0,
                  MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
   0,
  99, 
   OPC_CheckChild0Integer, 124|128,38, 
   OPC_RecordChild1,
   OPC_SwitchType , 29, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLAH_qrs8), 0,
                  MVT::v16i8, 6, 0, 1, 2, 4, 3, 5, 
   29, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLAH_qrs16), 0,
                  MVT::v8i16, 6, 0, 1, 2, 4, 3, 5, 
   29, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLAH_qrs32), 0,
                  MVT::v4i32, 6, 0, 1, 2, 4, 3, 5, 
   0,
  99, 
   OPC_CheckChild0Integer, 12|128,39, 
   OPC_RecordChild1,
   OPC_SwitchType , 29, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLAH_qrs8), 0,
                  MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
   29, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLAH_qrs16), 0,
                  MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
   29, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLAH_qrs32), 0,
                  MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
   0,
  99, 
   OPC_CheckChild0Integer, 14|128,39, 
   OPC_RecordChild1,
   OPC_SwitchType , 29, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLAH_qrs8), 0,
                  MVT::v16i8, 6, 0, 1, 2, 4, 3, 5, 
   29, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLAH_qrs16), 0,
                  MVT::v8i16, 6, 0, 1, 2, 4, 3, 5, 
   29, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLAH_qrs32), 0,
                  MVT::v4i32, 6, 0, 1, 2, 4, 3, 5, 
   0,
  99, 
   OPC_CheckChild0Integer, 126|128,38, 
   OPC_RecordChild1,
   OPC_SwitchType , 29, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLASH_qrs8), 0,
                  MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
   29, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLASH_qrs16), 0,
                  MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
   29, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLASH_qrs32), 0,
                  MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
   0,
  99, 
   OPC_CheckChild0Integer, 0|128,39, 
   OPC_RecordChild1,
   OPC_SwitchType , 29, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLASH_qrs8), 0,
                  MVT::v16i8, 6, 0, 1, 2, 4, 3, 5, 
   29, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLASH_qrs16), 0,
                  MVT::v8i16, 6, 0, 1, 2, 4, 3, 5, 
   29, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQDMLASH_qrs32), 0,
                  MVT::v4i32, 6, 0, 1, 2, 4, 3, 5, 
   0,
  99, 
   OPC_CheckChild0Integer, 16|128,39, 
   OPC_RecordChild1,
   OPC_SwitchType , 29, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLASH_qrs8), 0,
                  MVT::v16i8, 6, 0, 1, 2, 3, 4, 5, 
   29, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLASH_qrs16), 0,
                  MVT::v8i16, 6, 0, 1, 2, 3, 4, 5, 
   29, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLASH_qrs32), 0,
                  MVT::v4i32, 6, 0, 1, 2, 3, 4, 5, 
   0,
  99, 
   OPC_CheckChild0Integer, 18|128,39, 
   OPC_RecordChild1,
   OPC_SwitchType , 29, MVT::v16i8,
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v16i8,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v16i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLASH_qrs8), 0,
                  MVT::v16i8, 6, 0, 1, 2, 4, 3, 5, 
   29, MVT::v8i16,
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i16,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLASH_qrs16), 0,
                  MVT::v8i16, 6, 0, 1, 2, 4, 3, 5, 
   29, MVT::v4i32,
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i32,
    OPC_RecordChild3,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VQRDMLASH_qrs32), 0,
                  MVT::v4i32, 6, 0, 1, 2, 4, 3, 5, 
   0,
  25, 
   OPC_CheckChild0Integer, 20|128,38, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCTP8), 0,
                 MVT::v16i1, 4, 0, 1, 2, 3, 
  25, 
   OPC_CheckChild0Integer, 14|128,38, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCTP16), 0,
                 MVT::v8i1, 4, 0, 1, 2, 3, 
  25, 
   OPC_CheckChild0Integer, 16|128,38, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCTP32), 0,
                 MVT::v4i1, 4, 0, 1, 2, 3, 
  25, 
   OPC_CheckChild0Integer, 18|128,38, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 8,
   OPC_EmitInteger, MVT::i32, 0, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCTP64), 0,
                 MVT::v2i1, 4, 0, 1, 2, 3, 
  46, 
   OPC_CheckChild0Integer, 6|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate, 7,
   OPC_EmitStringInteger, MVT::i32, ARM::DPairRegClassID,
   OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
   OPC_EmitStringInteger, MVT::i32, ARM::dsub_1,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                 MVT::v16i8, 5, 4, 1, 5, 2, 6, 
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VTBX2), 0,
                 MVT::v8i8, 5, 0, 7, 3, 8, 9, 
  56, 
   OPC_CheckChild0Integer, 2|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckPatternPredicate, 7,
   OPC_EmitStringInteger, MVT::i32, ARM::QQPRRegClassID,
   OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
   OPC_EmitStringInteger, MVT::i32, ARM::dsub_1,
   OPC_EmitStringInteger, MVT::i32, ARM::dsub_2,
   OPC_EmitStringInteger, MVT::i32, ARM::dsub_3,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                 MVT::v4i64, 9, 5, 0, 6, 1, 7, 2, 8, 3, 9, 
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VTBL4Pseudo), 0,
                 MVT::v8i8, 4, 10, 4, 11, 12, 
  58, 
   OPC_CheckChild0Integer, 10|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_RecordChild6,
   OPC_CheckPatternPredicate, 7,
   OPC_EmitStringInteger, MVT::i32, ARM::QQPRRegClassID,
   OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
   OPC_EmitStringInteger, MVT::i32, ARM::dsub_1,
   OPC_EmitStringInteger, MVT::i32, ARM::dsub_2,
   OPC_EmitStringInteger, MVT::i32, ARM::dsub_3,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                 MVT::v4i64, 9, 6, 1, 7, 2, 8, 3, 9, 4, 10, 
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VTBX4Pseudo), 0,
                 MVT::v8i8, 5, 0, 11, 5, 12, 13, 
  61, 
   OPC_CheckChild0Integer, 0|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_CheckPatternPredicate, 7,
   OPC_EmitStringInteger, MVT::i32, ARM::QQPRRegClassID,
   OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
   OPC_EmitStringInteger, MVT::i32, ARM::dsub_1,
   OPC_EmitStringInteger, MVT::i32, ARM::dsub_2,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::v8i8, 0, 
   OPC_EmitStringInteger, MVT::i32, ARM::dsub_3,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                 MVT::v4i64, 9, 4, 0, 5, 1, 6, 2, 7, 8, 9, 
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VTBL3Pseudo), 0,
                 MVT::v8i8, 4, 10, 3, 11, 12, 
  63, 
   OPC_CheckChild0Integer, 8|128,42, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_RecordChild4,
   OPC_RecordChild5,
   OPC_CheckPatternPredicate, 7,
   OPC_EmitStringInteger, MVT::i32, ARM::QQPRRegClassID,
   OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
   OPC_EmitStringInteger, MVT::i32, ARM::dsub_1,
   OPC_EmitStringInteger, MVT::i32, ARM::dsub_2,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                 MVT::v8i8, 0, 
   OPC_EmitStringInteger, MVT::i32, ARM::dsub_3,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                 MVT::v4i64, 9, 5, 1, 6, 2, 7, 3, 8, 9, 10, 
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VTBX3Pseudo), 0,
                 MVT::v8i8, 5, 0, 11, 4, 12, 13, 
  43, 
   OPC_CheckChild0Integer, 126|128,39, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 7,
   OPC_EmitInteger, MVT::i64, 0, 
   OPC_EmitStringInteger, MVT::i32, ARM::SPRRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f32, 2, 1, 4, 
   OPC_EmitStringInteger, MVT::i32, ARM::ssub_0,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                 MVT::v16i8, 3, 3, 5, 6, 
   OPC_MorphNodeTo1, TARGET_VAL(ARM::SHA1C), 0,
                 MVT::v4i32, 3, 0, 7, 2, 
  43, 
   OPC_CheckChild0Integer, 2|128,40, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 7,
   OPC_EmitInteger, MVT::i64, 0, 
   OPC_EmitStringInteger, MVT::i32, ARM::SPRRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f32, 2, 1, 4, 
   OPC_EmitStringInteger, MVT::i32, ARM::ssub_0,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                 MVT::v16i8, 3, 3, 5, 6, 
   OPC_MorphNodeTo1, TARGET_VAL(ARM::SHA1M), 0,
                 MVT::v4i32, 3, 0, 7, 2, 
  43, 
   OPC_CheckChild0Integer, 4|128,40, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 7,
   OPC_EmitInteger, MVT::i64, 0, 
   OPC_EmitStringInteger, MVT::i32, ARM::SPRRegClassID,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                 MVT::f32, 2, 1, 4, 
   OPC_EmitStringInteger, MVT::i32, ARM::ssub_0,
   OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                 MVT::v16i8, 3, 3, 5, 6, 
   OPC_MorphNodeTo1, TARGET_VAL(ARM::SHA1P), 0,
                 MVT::v4i32, 3, 0, 7, 2, 
  23|128,1, 
   OPC_CheckChild0Integer, 116|128,39, 
   OPC_RecordChild1,
   OPC_Scope, 66, 
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4bf16,
    OPC_Scope, 41, 
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
     OPC_MoveChild0,
     OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUPLANE),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::v2f32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 38,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2f32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4bf16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v2f32,
     OPC_CheckPatternPredicate, 42,
     OPC_EmitConvertToTarget, 3,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::BF16VDOTI_VDOTD), 0,
                   MVT::v2f32, 4, 0, 1, 2, 4, 
    16, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v4bf16,
     OPC_CheckType, MVT::v2f32,
     OPC_CheckPatternPredicate, 42,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::BF16VDOTS_VDOTD), 0,
                   MVT::v2f32, 3, 0, 1, 2, 
    0, 
   77, 
    OPC_CheckChild1Type, MVT::v4f32,
    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, MVT::v4f32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 38,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4f32,
     OPC_MoveParent,
     OPC_CheckType, MVT::v8bf16,
     OPC_MoveParent,
     OPC_CheckType, MVT::v4f32,
     OPC_CheckPatternPredicate, 42,
     OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f64, 2, 2, 4, 
     OPC_EmitConvertToTarget, 3,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::BF16VDOTI_VDOTQ), 0,
                   MVT::v4f32, 4, 0, 1, 5, 6, 
    16, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8bf16,
     OPC_CheckType, MVT::v4f32,
     OPC_CheckPatternPredicate, 42,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::BF16VDOTS_VDOTQ), 0,
                   MVT::v4f32, 3, 0, 1, 2, 
    0, 
   0, 
  67, 
   OPC_CheckChild0Integer, 120|128,39, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 46, 
    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, 39,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 42,
    OPC_EmitConvertToTarget, 3,
    OPC_EmitNodeXForm, 5, 4,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 2, 5, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitNodeXForm, 6, 7,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBF16MALTQI), 0,
                  MVT::v4f32, 4, 0, 1, 6, 8, 
   12, 
    OPC_RecordChild3,
    OPC_CheckPatternPredicate, 42,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBF16MALTQ), 0,
                  MVT::v4f32, 3, 0, 1, 2, 
   0, 
  67, 
   OPC_CheckChild0Integer, 118|128,39, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 46, 
    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, 39,
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPatternPredicate, 42,
    OPC_EmitConvertToTarget, 3,
    OPC_EmitNodeXForm, 5, 4,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 2, 5, 
    OPC_EmitConvertToTarget, 3,
    OPC_EmitNodeXForm, 6, 7,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBF16MALBQI), 0,
                  MVT::v4f32, 4, 0, 1, 6, 8, 
   12, 
    OPC_RecordChild3,
    OPC_CheckPatternPredicate, 42,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VBF16MALBQ), 0,
                  MVT::v4f32, 3, 0, 1, 2, 
   0, 
  57, 
   OPC_CheckChild0Integer, 28|128,38, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 24, 
    OPC_CheckChild3Integer, 0, 
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTf16f32bh), 0,
                  MVT::v8f16, 5, 0, 1, 2, 3, 4, 
   24, 
    OPC_CheckChild3Integer, 2, 
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTf16f32th), 0,
                  MVT::v8f16, 5, 0, 1, 2, 3, 4, 
   0, 
  53, 
   OPC_CheckChild0Integer, 30|128,38, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 22, 
    OPC_CheckChild3Integer, 0, 
    OPC_RecordChild4,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTf16f32bh), 0,
                  MVT::v8f16, 5, 0, 1, 3, 2, 4, 
   22, 
    OPC_CheckChild3Integer, 2, 
    OPC_RecordChild4,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTf16f32th), 0,
                  MVT::v8f16, 5, 0, 1, 3, 2, 4, 
   0, 
  68, 
   OPC_CheckChild0Integer, 32|128,38, 
   OPC_RecordChild1,
   OPC_Scope, 30, 
    OPC_CheckChild2Integer, 0, 
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTf32f16bh), 0,
                  MVT::v4f32, 5, 0, 1, 2, 3, 4, 
   30, 
    OPC_CheckChild2Integer, 2, 
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTf32f16th), 0,
                  MVT::v4f32, 5, 0, 1, 2, 3, 4, 
   0, 
  53, 
   OPC_CheckChild0Integer, 34|128,38, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_Scope, 22, 
    OPC_CheckChild3Integer, 0, 
    OPC_RecordChild4,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTf32f16bh), 0,
                  MVT::v4f32, 5, 1, 3, 2, 4, 0, 
   22, 
    OPC_CheckChild3Integer, 2, 
    OPC_RecordChild4,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCVTf32f16th), 0,
                  MVT::v4f32, 5, 1, 3, 2, 4, 0, 
   0, 
  2|128,1, 
   OPC_CheckChild0Integer, 60|128,40, 
   OPC_RecordChild1,
   OPC_Scope, 30, 
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v2f32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTxs2fd), 0,
                  MVT::v2f32, 4, 0, 2, 3, 4, 
   30, 
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v4f16,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTxs2hd), 0,
                  MVT::v4f16, 4, 0, 2, 3, 4, 
   30, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v4f32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTxs2fq), 0,
                  MVT::v4f32, 4, 0, 2, 3, 4, 
   30, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTxs2hq), 0,
                  MVT::v8f16, 4, 0, 2, 3, 4, 
   0, 
  2|128,1, 
   OPC_CheckChild0Integer, 62|128,40, 
   OPC_RecordChild1,
   OPC_Scope, 30, 
    OPC_CheckChild1Type, MVT::v2i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v2f32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTxu2fd), 0,
                  MVT::v2f32, 4, 0, 2, 3, 4, 
   30, 
    OPC_CheckChild1Type, MVT::v4i16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v4f16,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTxu2hd), 0,
                  MVT::v4f16, 4, 0, 2, 3, 4, 
   30, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v4f32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTxu2fq), 0,
                  MVT::v4f32, 4, 0, 2, 3, 4, 
   30, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_MoveParent,
    OPC_CheckType, MVT::v8f16,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitConvertToTarget, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTxu2hq), 0,
                  MVT::v8f16, 4, 0, 2, 3, 4, 
   0, 
  84, 
   OPC_CheckChild0Integer, 6|128,38, 
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_SwitchType , 34, MVT::v8f16,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitConvertToTarget, 0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMLAf16), 0,
                  MVT::v8f16, 7, 1, 2, 3, 4, 5, 6, 7, 
   34, MVT::v4f32,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4f32,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitConvertToTarget, 0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMLAf32), 0,
                  MVT::v4f32, 7, 1, 2, 3, 4, 5, 6, 7, 
   0,
  84, 
   OPC_CheckChild0Integer, 8|128,38, 
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_SwitchType , 34, 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_CheckPatternPredicate, 18,
    OPC_EmitConvertToTarget, 0,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMLAf16), 0,
                  MVT::v8f16, 7, 1, 2, 3, 5, 6, 4, 7, 
   34, MVT::v4f32,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4f32,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4f32,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v4i1,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitConvertToTarget, 0,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMLAf32), 0,
                  MVT::v4f32, 7, 1, 2, 3, 5, 6, 4, 7, 
   0,
  97|128,3, 
   OPC_CheckChild0Integer, 4|128,37, 
   OPC_Scope, 39, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_CheckType, MVT::v4f32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4f32,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckType, MVT::v4f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VFMSf32), 0,
                  MVT::v4f32, 6, 2, 0, 1, 4, 3, 5, 
   39, 
    OPC_RecordChild1,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
    OPC_RecordChild0,
    OPC_CheckType, MVT::v4f32,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4f32,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckType, MVT::v4f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VFMSf32), 0,
                  MVT::v4f32, 6, 2, 0, 1, 4, 3, 5, 
   39, 
    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_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VFMSf16), 0,
                  MVT::v8f16, 6, 2, 0, 1, 4, 3, 5, 
   78, 
    OPC_RecordChild1,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_MoveChild2,
    OPC_SwitchOpcode , 32, 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_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VFMSf16), 0,
                   MVT::v8f16, 6, 2, 0, 1, 4, 3, 5, 
    34, TARGET_VAL(ARMISD::VDUP),
     OPC_RecordChild0,
     OPC_CheckChild0Type, MVT::i32,
     OPC_CheckType, MVT::v8f16,
     OPC_MoveParent,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i1,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate, 18,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VFMA_qr_f16), 0,
                   MVT::v8f16, 6, 2, 0, 1, 4, 3, 5, 
    0,
   41, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::i32,
    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_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VFMA_qr_f16), 0,
                  MVT::v8f16, 6, 2, 1, 0, 4, 3, 5, 
   41, 
    OPC_RecordChild1,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::i32,
    OPC_CheckType, MVT::v4f32,
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4f32,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckType, MVT::v4f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VFMA_qr_f32), 0,
                  MVT::v4f32, 6, 2, 0, 1, 4, 3, 5, 
   41, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
    OPC_RecordChild0,
    OPC_CheckChild0Type, MVT::i32,
    OPC_CheckType, MVT::v4f32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4f32,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4i1,
    OPC_CheckType, MVT::v4f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VFMA_qr_f32), 0,
                  MVT::v4f32, 6, 2, 1, 0, 4, 3, 5, 
   21|128,1, 
    OPC_RecordChild1,
    OPC_Scope, 72, 
     OPC_CheckChild1Type, MVT::v8f16,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v8f16,
     OPC_Scope, 35, 
      OPC_MoveChild3,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::i32,
      OPC_CheckType, MVT::v8f16,
      OPC_MoveParent,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_CheckType, MVT::v8f16,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VFMA_qr_Sf16), 0,
                    MVT::v8f16, 6, 0, 1, 2, 4, 3, 5, 
     28, 
      OPC_RecordChild3,
      OPC_CheckChild3Type, MVT::v8f16,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v8i1,
      OPC_CheckType, MVT::v8f16,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VFMAf16), 0,
                    MVT::v8f16, 6, 2, 0, 1, 4, 3, 5, 
     0, 
    72, 
     OPC_CheckChild1Type, MVT::v4f32,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::v4f32,
     OPC_Scope, 35, 
      OPC_MoveChild3,
      OPC_CheckOpcode, TARGET_VAL(ARMISD::VDUP),
      OPC_RecordChild0,
      OPC_CheckChild0Type, MVT::i32,
      OPC_CheckType, MVT::v4f32,
      OPC_MoveParent,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_CheckType, MVT::v4f32,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VFMA_qr_Sf32), 0,
                    MVT::v4f32, 6, 0, 1, 2, 4, 3, 5, 
     28, 
      OPC_RecordChild3,
      OPC_CheckChild3Type, MVT::v4f32,
      OPC_RecordChild4,
      OPC_CheckChild4Type, MVT::v4i1,
      OPC_CheckType, MVT::v4f32,
      OPC_CheckPatternPredicate, 18,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VFMAf32), 0,
                    MVT::v4f32, 6, 2, 0, 1, 4, 3, 5, 
     0, 
    0, 
   0, 
  90, 
   OPC_CheckChild0Integer, 10|128,38, 
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_SwitchType , 37, MVT::v8f16,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitConvertToTarget, 0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMULf16), 0,
                  MVT::v8f16, 7, 1, 2, 3, 4, 5, 6, 7, 
   37, MVT::v4f32,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitConvertToTarget, 0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMULf32), 0,
                  MVT::v4f32, 7, 1, 2, 3, 4, 5, 6, 7, 
   0,
  84, 
   OPC_CheckChild0Integer, 12|128,38, 
   OPC_RecordChild1,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_SwitchType , 34, 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_CheckPatternPredicate, 18,
    OPC_EmitConvertToTarget, 0,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMULf16), 0,
                  MVT::v8f16, 7, 2, 3, 5, 6, 4, 7, 1, 
   34, MVT::v4f32,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4f32,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::v4f32,
    OPC_RecordChild5,
    OPC_CheckChild5Type, MVT::v4i1,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitConvertToTarget, 0,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VCMULf32), 0,
                  MVT::v4f32, 7, 2, 3, 5, 6, 4, 7, 1, 
   0,
  90, 
   OPC_CheckChild0Integer, 42|128,40, 
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCADDv4f16), 0,
                  MVT::v4f16, 3, 0, 1, 2, 
   19, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCADDv8f16), 0,
                  MVT::v8f16, 3, 0, 1, 2, 
   19, MVT::v2f32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCADDv2f32), 0,
                  MVT::v2f32, 3, 0, 1, 2, 
   19, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCADDv4f32), 0,
                  MVT::v4f32, 3, 0, 1, 2, 
   0,
  90, 
   OPC_CheckChild0Integer, 40|128,40, 
   OPC_RecordChild1,
   OPC_SwitchType , 19, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCADDv4f16), 0,
                  MVT::v4f16, 3, 0, 1, 2, 
   19, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 43,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCADDv8f16), 0,
                  MVT::v8f16, 3, 0, 1, 2, 
   19, MVT::v2f32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCADDv2f32), 0,
                  MVT::v2f32, 3, 0, 1, 2, 
   19, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 44,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VCADDv4f32), 0,
                  MVT::v4f32, 3, 0, 1, 2, 
   0,
  106, 
   OPC_CheckChild0Integer, 68|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v2f32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRECPSfd), 0,
                  MVT::v2f32, 4, 0, 1, 2, 3, 
   23, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRECPSfq), 0,
                  MVT::v4f32, 4, 0, 1, 2, 3, 
   23, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRECPShd), 0,
                  MVT::v4f16, 4, 0, 1, 2, 3, 
   23, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRECPShq), 0,
                  MVT::v8f16, 4, 0, 1, 2, 3, 
   0,
  106, 
   OPC_CheckChild0Integer, 94|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 23, MVT::v2f32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSQRTSfd), 0,
                  MVT::v2f32, 4, 0, 1, 2, 3, 
   23, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 7,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSQRTSfq), 0,
                  MVT::v4f32, 4, 0, 1, 2, 3, 
   23, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSQRTShd), 0,
                  MVT::v4f16, 4, 0, 1, 2, 3, 
   23, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 38,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRSQRTShq), 0,
                  MVT::v8f16, 4, 0, 1, 2, 3, 
   0,
  21, 
   OPC_CheckChild0Integer, 64|128,40, 
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 40,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VCVTh2f), 0,
                 MVT::v4f32, 3, 0, 1, 2, 
  58, 
   OPC_CheckChild0Integer, 82|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::v2f32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTXNDf), 0,
                  MVT::v2f32, 1, 0, 
   11, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTXNQf), 0,
                  MVT::v4f32, 1, 0, 
   11, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTXNDh), 0,
                  MVT::v4f16, 1, 0, 
   11, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTXNQh), 0,
                  MVT::v8f16, 1, 0, 
   0,
  58, 
   OPC_CheckChild0Integer, 74|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::v2f32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTANDf), 0,
                  MVT::v2f32, 1, 0, 
   11, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTANQf), 0,
                  MVT::v4f32, 1, 0, 
   11, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTANDh), 0,
                  MVT::v4f16, 1, 0, 
   11, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTANQh), 0,
                  MVT::v8f16, 1, 0, 
   0,
  58, 
   OPC_CheckChild0Integer, 84|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::v2f32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTZNDf), 0,
                  MVT::v2f32, 1, 0, 
   11, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTZNQf), 0,
                  MVT::v4f32, 1, 0, 
   11, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTZNDh), 0,
                  MVT::v4f16, 1, 0, 
   11, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTZNQh), 0,
                  MVT::v8f16, 1, 0, 
   0,
  58, 
   OPC_CheckChild0Integer, 76|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::v2f32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTMNDf), 0,
                  MVT::v2f32, 1, 0, 
   11, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTMNQf), 0,
                  MVT::v4f32, 1, 0, 
   11, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTMNDh), 0,
                  MVT::v4f16, 1, 0, 
   11, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTMNQh), 0,
                  MVT::v8f16, 1, 0, 
   0,
  58, 
   OPC_CheckChild0Integer, 80|128,41, 
   OPC_RecordChild1,
   OPC_SwitchType , 11, MVT::v2f32,
    OPC_CheckChild1Type, MVT::v2f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTPNDf), 0,
                  MVT::v2f32, 1, 0, 
   11, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 29,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTPNQf), 0,
                  MVT::v4f32, 1, 0, 
   11, MVT::v4f16,
    OPC_CheckChild1Type, MVT::v4f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTPNDh), 0,
                  MVT::v4f16, 1, 0, 
   11, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 30,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::VRINTPNQh), 0,
                  MVT::v8f16, 1, 0, 
   0,
  17, 
   OPC_CheckChild0Integer, 122|128,39, 
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_RecordChild3,
   OPC_CheckPatternPredicate, 42,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::VMMLA), 0,
                 MVT::v4f32, 3, 0, 1, 2, 
  70, 
   OPC_CheckChild0Integer, 40|128,39, 
   OPC_RecordChild1,
   OPC_SwitchType , 30, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRINTf16N), 0,
                  MVT::v8f16, 5, 0, 1, 2, 3, 4, 
   30, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::v4i32, 0, 
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRINTf32N), 0,
                  MVT::v4f32, 5, 0, 1, 2, 3, 4, 
   0,
  64, 
   OPC_CheckChild0Integer, 42|128,39, 
   OPC_RecordChild1,
   OPC_SwitchType , 27, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRINTf16N), 0,
                  MVT::v8f16, 5, 0, 3, 1, 4, 2, 
   27, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRINTf32N), 0,
                  MVT::v4f32, 5, 0, 3, 1, 4, 2, 
   0,
  64, 
   OPC_CheckChild0Integer, 46|128,39, 
   OPC_RecordChild1,
   OPC_SwitchType , 27, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRINTf16X), 0,
                  MVT::v8f16, 5, 0, 3, 1, 4, 2, 
   27, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRINTf32X), 0,
                  MVT::v4f32, 5, 0, 3, 1, 4, 2, 
   0,
  64, 
   OPC_CheckChild0Integer, 36|128,39, 
   OPC_RecordChild1,
   OPC_SwitchType , 27, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRINTf16A), 0,
                  MVT::v8f16, 5, 0, 3, 1, 4, 2, 
   27, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRINTf32A), 0,
                  MVT::v4f32, 5, 0, 3, 1, 4, 2, 
   0,
  64, 
   OPC_CheckChild0Integer, 48|128,39, 
   OPC_RecordChild1,
   OPC_SwitchType , 27, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRINTf16Z), 0,
                  MVT::v8f16, 5, 0, 3, 1, 4, 2, 
   27, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRINTf32Z), 0,
                  MVT::v4f32, 5, 0, 3, 1, 4, 2, 
   0,
  64, 
   OPC_CheckChild0Integer, 38|128,39, 
   OPC_RecordChild1,
   OPC_SwitchType , 27, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRINTf16M), 0,
                  MVT::v8f16, 5, 0, 3, 1, 4, 2, 
   27, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRINTf32M), 0,
                  MVT::v4f32, 5, 0, 3, 1, 4, 2, 
   0,
  64, 
   OPC_CheckChild0Integer, 44|128,39, 
   OPC_RecordChild1,
   OPC_SwitchType , 27, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8f16,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRINTf16P), 0,
                  MVT::v8f16, 5, 0, 3, 1, 4, 2, 
   27, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4i1,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4f32,
    OPC_CheckPatternPredicate, 18,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VRINTf32P), 0,
                  MVT::v4f32, 5, 0, 3, 1, 4, 2, 
   0,
  64, 
   OPC_CheckChild0Integer, 90|128,38, 
   OPC_RecordChild1,
   OPC_SwitchType , 27, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXNMAf32), 0,
                  MVT::v4f32, 5, 0, 1, 3, 2, 4, 
   27, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMAXNMAf16), 0,
                  MVT::v8f16, 5, 0, 1, 3, 2, 4, 
   0,
  64, 
   OPC_CheckChild0Integer, 94|128,38, 
   OPC_RecordChild1,
   OPC_SwitchType , 27, MVT::v4f32,
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v4f32,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v4i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINNMAf32), 0,
                  MVT::v4f32, 5, 0, 1, 3, 2, 4, 
   27, MVT::v8f16,
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::v8f16,
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::v8i1,
    OPC_CheckPatternPredicate, 8,
    OPC_EmitInteger, MVT::i32, 2, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VMINNMAf16), 0,
                  MVT::v8f16, 5, 0, 1, 3, 2, 4, 
   0,
  0, 
 26|128,3, TARGET_VAL(ISD::SRL),
  OPC_Scope, 18|128,1, 
   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_CheckChild1Type, MVT::i32,
   OPC_CheckPredicate, 40,
   OPC_CheckPredicate, 41,
   OPC_CheckPredicate, 42,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckChild1Integer, 32, 
   OPC_CheckChild1Type, MVT::i32,
   OPC_CheckType, MVT::i32,
   OPC_Scope, 38, 
    OPC_CheckPatternPredicate, 0,
    OPC_CheckComplexPat, /*CP*/8, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::LDRH), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 5, 2, 3, 4, 5, 6, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::REV16), 0,
                  MVT::i32, 3, 7, 8, 9, 
   76, 
    OPC_CheckPatternPredicate, 6,
    OPC_Scope, 35, 
     OPC_CheckComplexPat, /*CP*/9, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::tLDRHi), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tREV16), 0,
                   MVT::i32, 3, 6, 7, 8, 
    35, 
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::tLDRHr), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tREV16), 0,
                   MVT::i32, 3, 6, 7, 8, 
    0, 
   0, 
  29, 
   OPC_RecordNode,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 4,
   OPC_CheckComplexPat, /*CP*/11, /*#*/0,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MOVsr), 0,
                 MVT::i32, 6, 1, 2, 3, 4, 5, 6, 
  72, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
   OPC_RecordChild0,
   OPC_MoveChild0,
   OPC_CheckPredicate, 28,
   OPC_MoveParent,
   OPC_MoveParent,
   OPC_CheckChild1Integer, 32, 
   OPC_CheckChild1Type, MVT::i32,
   OPC_CheckType, MVT::i32,
   OPC_Scope, 17, 
    OPC_CheckPatternPredicate, 0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::REV16), 0,
                  MVT::i32, 3, 0, 1, 2, 
   17, 
    OPC_CheckPatternPredicate, 6,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::tREV16), 0,
                  MVT::i32, 3, 0, 1, 2, 
   17, 
    OPC_CheckPatternPredicate, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2REV16), 0,
                  MVT::i32, 3, 0, 1, 2, 
   0, 
  28, 
   OPC_RecordNode,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 4,
   OPC_CheckComplexPat, /*CP*/12, /*#*/0,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MOVsi), 0,
                 MVT::i32, 5, 1, 2, 3, 4, 5, 
  127, 
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_Scope, 69, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 43,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 27, 
     OPC_CheckPatternPredicate, 6,
     OPC_EmitRegister, MVT::i32, ARM::CPSR,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 14, 3,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tLSRri), 0,
                   MVT::i32, 5, 2, 0, 4, 5, 6, 
    27, 
     OPC_CheckPatternPredicate, 1,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 14, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LSRri), 0,
                   MVT::i32, 5, 0, 3, 4, 5, 6, 
    0, 
   52, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 22, 
     OPC_CheckPatternPredicate, 6,
     OPC_EmitRegister, MVT::i32, ARM::CPSR,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tLSRrr), 0,
                   MVT::i32, 5, 2, 0, 1, 3, 4, 
    22, 
     OPC_CheckPatternPredicate, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LSRrr), 0,
                   MVT::i32, 5, 0, 1, 2, 3, 4, 
    0, 
   0, 
  0, 
 49|128,49, TARGET_VAL(ISD::STORE),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_Scope, 88|128,3, 
   OPC_MoveChild1,
   OPC_SwitchOpcode , 12|128,1, TARGET_VAL(ISD::SRL),
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
    OPC_RecordChild0,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 32, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::i32,
    OPC_CheckPredicate, 44,
    OPC_CheckPredicate, 45,
    OPC_CheckPredicate, 46,
    OPC_Scope, 38, 
     OPC_CheckPatternPredicate, 0,
     OPC_CheckComplexPat, /*CP*/8, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::REV16), 0,
                   MVT::i32, 3, 1, 6, 7, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::STRH), 0|OPFL_Chain|OPFL_MemRefs,
                   6, 8, 3, 4, 5, 9, 10, 
    76, 
     OPC_CheckPatternPredicate, 6,
     OPC_Scope, 35, 
      OPC_CheckComplexPat, /*CP*/9, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(ARM::tREV16), 0,
                    MVT::i32, 3, 1, 5, 6, 
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::tSTRHi), 0|OPFL_Chain|OPFL_MemRefs,
                    5, 7, 3, 4, 8, 9, 
     35, 
      OPC_CheckComplexPat, /*CP*/10, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(ARM::tREV16), 0,
                    MVT::i32, 3, 1, 5, 6, 
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::tSTRHr), 0|OPFL_Chain|OPFL_MemRefs,
                    5, 7, 3, 4, 8, 9, 
     0, 
    0, 
   83|128,1, TARGET_VAL(ARMISD::VGETLANEu),
    OPC_RecordChild0,
    OPC_Scope, 51, 
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::i32,
     OPC_CheckPredicate, 45,
     OPC_CheckPredicate, 47,
     OPC_CheckPredicate, 48,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 7,
     OPC_CheckComplexPat, /*CP*/13, /*#*/3,
     OPC_CheckComplexPat, /*CP*/14, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VST1LNd8_UPD), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 7, 5, 6, 7, 1, 8, 9, 10, 
    51, 
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::i32,
     OPC_CheckPredicate, 45,
     OPC_CheckPredicate, 47,
     OPC_CheckPredicate, 42,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 7,
     OPC_CheckComplexPat, /*CP*/13, /*#*/3,
     OPC_CheckComplexPat, /*CP*/14, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VST1LNd16_UPD), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 7, 5, 6, 7, 1, 8, 9, 10, 
    51, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::i32,
     OPC_CheckPredicate, 45,
     OPC_CheckPredicate, 47,
     OPC_CheckPredicate, 48,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 7,
     OPC_CheckComplexPat, /*CP*/13, /*#*/3,
     OPC_CheckComplexPat, /*CP*/14, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VST1LNq8Pseudo_UPD), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 7, 5, 6, 7, 1, 8, 9, 10, 
    51, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::i32,
     OPC_CheckPredicate, 45,
     OPC_CheckPredicate, 47,
     OPC_CheckPredicate, 42,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 7,
     OPC_CheckComplexPat, /*CP*/13, /*#*/3,
     OPC_CheckComplexPat, /*CP*/14, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VST1LNq16Pseudo_UPD), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 7, 5, 6, 7, 1, 8, 9, 10, 
    0, 
   107, 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_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::i32,
     OPC_CheckPredicate, 49,
     OPC_CheckPredicate, 47,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 7,
     OPC_CheckComplexPat, /*CP*/15, /*#*/3,
     OPC_CheckComplexPat, /*CP*/14, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VST1LNd32_UPD), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 7, 5, 6, 7, 1, 8, 9, 10, 
    51, 
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::i32,
     OPC_CheckPredicate, 49,
     OPC_CheckPredicate, 47,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 7,
     OPC_CheckComplexPat, /*CP*/13, /*#*/3,
     OPC_CheckComplexPat, /*CP*/14, /*#*/4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 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,
  125|128,1, 
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::i32,
   OPC_RecordChild2,
   OPC_Scope, 86, 
    OPC_CheckChild2Type, MVT::i32,
    OPC_CheckPredicate, 44,
    OPC_Scope, 24, 
     OPC_CheckPredicate, 49,
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/16, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::PICSTR), 0|OPFL_Chain|OPFL_MemRefs,
                   5, 1, 3, 4, 5, 6, 
    54, 
     OPC_CheckPredicate, 45,
     OPC_Scope, 24, 
      OPC_CheckPredicate, 46,
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/16, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::PICSTRH), 0|OPFL_Chain|OPFL_MemRefs,
                    5, 1, 3, 4, 5, 6, 
     24, 
      OPC_CheckPredicate, 50,
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/16, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::PICSTRB), 0|OPFL_Chain|OPFL_MemRefs,
                    5, 1, 3, 4, 5, 6, 
     0, 
    0, 
   30|128,1, 
    OPC_RecordChild3,
    OPC_CheckChild3Type, MVT::i32,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 57, 
     OPC_CheckPredicate, 49,
     OPC_CheckPredicate, 47,
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/5, /*#*/2,
     OPC_Scope, 22, 
      OPC_CheckComplexPat, /*CP*/17, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::STR_POST_REG), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 4, 5, 6, 7, 8, 
     22, 
      OPC_CheckComplexPat, /*CP*/18, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::STR_POST_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 4, 5, 6, 7, 8, 
     0, 
    92, 
     OPC_CheckPredicate, 45,
     OPC_CheckPredicate, 47,
     OPC_Scope, 55, 
      OPC_CheckPredicate, 48,
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/5, /*#*/2,
      OPC_Scope, 22, 
       OPC_CheckComplexPat, /*CP*/17, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::STRB_POST_REG), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 4, 5, 6, 7, 8, 
      22, 
       OPC_CheckComplexPat, /*CP*/18, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::STRB_POST_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 4, 5, 6, 7, 8, 
      0, 
     29, 
      OPC_CheckPredicate, 42,
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/5, /*#*/2,
      OPC_CheckComplexPat, /*CP*/19, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 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, 
  73|128,3, 
   OPC_MoveChild1,
   OPC_SwitchOpcode , 51|128,1, TARGET_VAL(ARMISD::VGETLANEu),
    OPC_RecordChild0,
    OPC_Scope, 43, 
     OPC_CheckChild0Type, MVT::v8i8,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_CheckPredicate, 45,
     OPC_CheckPredicate, 50,
     OPC_CheckPatternPredicate, 7,
     OPC_CheckComplexPat, /*CP*/13, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1LNd8), 0|OPFL_Chain|OPFL_MemRefs,
                   6, 4, 5, 1, 6, 7, 8, 
    43, 
     OPC_CheckChild0Type, MVT::v4i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_CheckPredicate, 45,
     OPC_CheckPredicate, 46,
     OPC_CheckPatternPredicate, 7,
     OPC_CheckComplexPat, /*CP*/13, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                   6, 4, 5, 1, 6, 7, 8, 
    43, 
     OPC_CheckChild0Type, MVT::v16i8,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_CheckPredicate, 45,
     OPC_CheckPredicate, 50,
     OPC_CheckPatternPredicate, 7,
     OPC_CheckComplexPat, /*CP*/13, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1LNq8Pseudo), 0|OPFL_Chain|OPFL_MemRefs,
                   6, 4, 5, 1, 6, 7, 8, 
    43, 
     OPC_CheckChild0Type, MVT::v8i16,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_CheckPredicate, 45,
     OPC_CheckPredicate, 46,
     OPC_CheckPatternPredicate, 7,
     OPC_CheckComplexPat, /*CP*/13, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1LNq16Pseudo), 0|OPFL_Chain|OPFL_MemRefs,
                   6, 4, 5, 1, 6, 7, 8, 
    0, 
   11|128,2, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
    OPC_RecordChild0,
    OPC_Scope, 43, 
     OPC_CheckChild0Type, MVT::v2i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_CheckPredicate, 49,
     OPC_CheckPatternPredicate, 7,
     OPC_CheckComplexPat, /*CP*/15, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                   6, 4, 5, 1, 6, 7, 8, 
    43, 
     OPC_CheckChild0Type, MVT::v4i32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_CheckPredicate, 49,
     OPC_CheckPatternPredicate, 7,
     OPC_CheckComplexPat, /*CP*/13, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1LNq32Pseudo), 0|OPFL_Chain|OPFL_MemRefs,
                   6, 4, 5, 1, 6, 7, 8, 
    43, 
     OPC_CheckChild0Type, MVT::v2f32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_CheckPredicate, 49,
     OPC_CheckPatternPredicate, 7,
     OPC_CheckComplexPat, /*CP*/13, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                   6, 4, 5, 1, 6, 7, 8, 
    43, 
     OPC_CheckChild0Type, MVT::v4f32,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_CheckType, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_CheckPredicate, 49,
     OPC_CheckPatternPredicate, 7,
     OPC_CheckComplexPat, /*CP*/13, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1LNq32Pseudo), 0|OPFL_Chain|OPFL_MemRefs,
                   6, 4, 5, 1, 6, 7, 8, 
    43, 
     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_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_CheckPredicate, 49,
     OPC_CheckPatternPredicate, 7,
     OPC_CheckComplexPat, /*CP*/13, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                   6, 4, 5, 1, 6, 7, 8, 
    43, 
     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_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_CheckPredicate, 49,
     OPC_CheckPatternPredicate, 7,
     OPC_CheckComplexPat, /*CP*/13, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1LNq16Pseudo), 0|OPFL_Chain|OPFL_MemRefs,
                   6, 4, 5, 1, 6, 7, 8, 
    0, 
   0,
  78|128,2, 
   OPC_RecordChild1,
   OPC_Scope, 27|128,2, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_RecordChild2,
    OPC_Scope, 44|128,1, 
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_Scope, 25, 
      OPC_CheckPredicate, 49,
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/20, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::STRrs), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 1, 3, 4, 5, 6, 7, 
     56, 
      OPC_CheckPredicate, 45,
      OPC_Scope, 25, 
       OPC_CheckPredicate, 50,
       OPC_CheckPatternPredicate, 4,
       OPC_CheckComplexPat, /*CP*/20, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::STRBrs), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 1, 3, 4, 5, 6, 7, 
      25, 
       OPC_CheckPredicate, 46,
       OPC_CheckPatternPredicate, 4,
       OPC_CheckComplexPat, /*CP*/8, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::STRH), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 1, 3, 4, 5, 6, 7, 
      0, 
     25, 
      OPC_CheckPredicate, 49,
      OPC_CheckPatternPredicate, 1,
      OPC_CheckComplexPat, /*CP*/21, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRs), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 1, 3, 4, 5, 6, 7, 
     56, 
      OPC_CheckPredicate, 45,
      OPC_Scope, 25, 
       OPC_CheckPredicate, 50,
       OPC_CheckPatternPredicate, 1,
       OPC_CheckComplexPat, /*CP*/21, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRBs), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 1, 3, 4, 5, 6, 7, 
      25, 
       OPC_CheckPredicate, 46,
       OPC_CheckPatternPredicate, 1,
       OPC_CheckComplexPat, /*CP*/21, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRHs), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 1, 3, 4, 5, 6, 7, 
      0, 
     0, 
    103, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::i32,
     OPC_CheckType, MVT::i32,
     OPC_Scope, 30, 
      OPC_CheckPredicate, 49,
      OPC_CheckPredicate, 47,
      OPC_CheckPatternPredicate, 1,
      OPC_CheckComplexPat, /*CP*/5, /*#*/2,
      OPC_CheckComplexPat, /*CP*/22, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2STR_POST), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 5, 1, 4, 5, 6, 7, 
     64, 
      OPC_CheckPredicate, 45,
      OPC_CheckPredicate, 47,
      OPC_Scope, 28, 
       OPC_CheckPredicate, 42,
       OPC_CheckPatternPredicate, 1,
       OPC_CheckComplexPat, /*CP*/5, /*#*/2,
       OPC_CheckComplexPat, /*CP*/22, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::t2STRH_POST), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 5, 1, 4, 5, 6, 7, 
      28, 
       OPC_CheckPredicate, 48,
       OPC_CheckPatternPredicate, 1,
       OPC_CheckComplexPat, /*CP*/5, /*#*/2,
       OPC_CheckComplexPat, /*CP*/22, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::t2STRB_POST), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 5, 1, 4, 5, 6, 7, 
      0, 
     0, 
    0, 
   45, 
    OPC_CheckChild1Type, MVT::bf16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::i32,
    OPC_CheckPredicate, 44,
    OPC_CheckPredicate, 49,
    OPC_CheckPredicate, 51,
    OPC_CheckPatternPredicate, 45,
    OPC_CheckComplexPat, /*CP*/8, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitStringInteger, MVT::i32, ARM::GPRRegClassID,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                  MVT::i32, 2, 1, 6, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::STRH), 0|OPFL_Chain|OPFL_MemRefs,
                  6, 7, 3, 4, 5, 8, 9, 
   0, 
  71|128,3, 
   OPC_MoveChild1,
   OPC_SwitchOpcode , 105, TARGET_VAL(ISD::FP_TO_SINT),
    OPC_RecordChild0,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 49, 
     OPC_CheckChild0Type, MVT::f64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_CheckPredicate, 49,
     OPC_CheckPredicate, 52,
     OPC_CheckPatternPredicate, 31,
     OPC_CheckComplexPat, /*CP*/23, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::VTOSIZD), 0,
                   MVT::f32, 3, 1, 5, 6, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRS), 0|OPFL_Chain|OPFL_MemRefs,
                   5, 7, 3, 4, 8, 9, 
    49, 
     OPC_CheckChild0Type, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_CheckPredicate, 49,
     OPC_CheckPredicate, 52,
     OPC_CheckPatternPredicate, 32,
     OPC_CheckComplexPat, /*CP*/23, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::VTOSIZS), 0,
                   MVT::f32, 3, 1, 5, 6, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRS), 0|OPFL_Chain|OPFL_MemRefs,
                   5, 7, 3, 4, 8, 9, 
    0, 
   115, TARGET_VAL(ISD::FP_TO_SINT_SAT),
    OPC_RecordChild0,
    OPC_Scope, 55, 
     OPC_CheckChild0Type, MVT::f64,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_CheckPredicate, 49,
     OPC_CheckPredicate, 52,
     OPC_CheckPatternPredicate, 31,
     OPC_CheckComplexPat, /*CP*/23, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::VTOSIZD), 0,
                   MVT::f32, 3, 1, 5, 6, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRS), 0|OPFL_Chain|OPFL_MemRefs,
                   5, 7, 3, 4, 8, 9, 
    55, 
     OPC_CheckChild0Type, MVT::f32,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_CheckPredicate, 49,
     OPC_CheckPredicate, 52,
     OPC_CheckPatternPredicate, 46,
     OPC_CheckComplexPat, /*CP*/23, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::VTOSIZS), 0,
                   MVT::f32, 3, 1, 5, 6, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRS), 0|OPFL_Chain|OPFL_MemRefs,
                   5, 7, 3, 4, 8, 9, 
    0, 
   105, TARGET_VAL(ISD::FP_TO_UINT),
    OPC_RecordChild0,
    OPC_CheckType, MVT::i32,
    OPC_Scope, 49, 
     OPC_CheckChild0Type, MVT::f64,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_CheckPredicate, 49,
     OPC_CheckPredicate, 52,
     OPC_CheckPatternPredicate, 31,
     OPC_CheckComplexPat, /*CP*/23, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::VTOUIZD), 0,
                   MVT::f32, 3, 1, 5, 6, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRS), 0|OPFL_Chain|OPFL_MemRefs,
                   5, 7, 3, 4, 8, 9, 
    49, 
     OPC_CheckChild0Type, MVT::f32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_CheckPredicate, 49,
     OPC_CheckPredicate, 52,
     OPC_CheckPatternPredicate, 32,
     OPC_CheckComplexPat, /*CP*/23, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::VTOUIZS), 0,
                   MVT::f32, 3, 1, 5, 6, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRS), 0|OPFL_Chain|OPFL_MemRefs,
                   5, 7, 3, 4, 8, 9, 
    0, 
   115, TARGET_VAL(ISD::FP_TO_UINT_SAT),
    OPC_RecordChild0,
    OPC_Scope, 55, 
     OPC_CheckChild0Type, MVT::f64,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_CheckPredicate, 49,
     OPC_CheckPredicate, 52,
     OPC_CheckPatternPredicate, 31,
     OPC_CheckComplexPat, /*CP*/23, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::VTOUIZD), 0,
                   MVT::f32, 3, 1, 5, 6, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRS), 0|OPFL_Chain|OPFL_MemRefs,
                   5, 7, 3, 4, 8, 9, 
    55, 
     OPC_CheckChild0Type, MVT::f32,
     OPC_MoveChild1,
     OPC_CheckValueType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_CheckPredicate, 49,
     OPC_CheckPredicate, 52,
     OPC_CheckPatternPredicate, 46,
     OPC_CheckComplexPat, /*CP*/23, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::VTOUIZS), 0,
                   MVT::f32, 3, 1, 5, 6, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRS), 0|OPFL_Chain|OPFL_MemRefs,
                   5, 7, 3, 4, 8, 9, 
    0, 
   0,
  110|128,33, 
   OPC_RecordChild1,
   OPC_Scope, 16|128,5, 
    OPC_CheckChild1Type, MVT::i32,
    OPC_RecordChild2,
    OPC_Scope, 127|128,2, 
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_Scope, 24, 
      OPC_CheckPredicate, 49,
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/24, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::STRi12), 0|OPFL_Chain|OPFL_MemRefs,
                    5, 1, 3, 4, 5, 6, 
     26, 
      OPC_CheckPredicate, 45,
      OPC_CheckPredicate, 50,
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/24, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::STRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                    5, 1, 3, 4, 5, 6, 
     69, 
      OPC_CheckPredicate, 49,
      OPC_CheckPatternPredicate, 6,
      OPC_Scope, 20, 
       OPC_CheckComplexPat, /*CP*/25, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::tSTRspi), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6, 
      20, 
       OPC_CheckComplexPat, /*CP*/26, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::tSTRi), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6, 
      20, 
       OPC_CheckComplexPat, /*CP*/10, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::tSTRr), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6, 
      0, 
     102, 
      OPC_CheckPredicate, 45,
      OPC_Scope, 48, 
       OPC_CheckPredicate, 50,
       OPC_CheckPatternPredicate, 6,
       OPC_Scope, 20, 
        OPC_CheckComplexPat, /*CP*/27, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 28, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::tSTRBi), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6, 
       20, 
        OPC_CheckComplexPat, /*CP*/10, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 28, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::tSTRBr), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6, 
       0, 
      48, 
       OPC_CheckPredicate, 46,
       OPC_CheckPatternPredicate, 6,
       OPC_Scope, 20, 
        OPC_CheckComplexPat, /*CP*/9, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 28, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::tSTRHi), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6, 
       20, 
        OPC_CheckComplexPat, /*CP*/10, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 28, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::tSTRHr), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6, 
       0, 
      0, 
     48, 
      OPC_CheckPredicate, 49,
      OPC_CheckPatternPredicate, 1,
      OPC_Scope, 20, 
       OPC_CheckComplexPat, /*CP*/28, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRi12), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6, 
      20, 
       OPC_CheckComplexPat, /*CP*/29, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRi8), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 1, 3, 4, 5, 6, 
      0, 
     102, 
      OPC_CheckPredicate, 45,
      OPC_Scope, 48, 
       OPC_CheckPredicate, 50,
       OPC_CheckPatternPredicate, 1,
       OPC_Scope, 20, 
        OPC_CheckComplexPat, /*CP*/28, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 28, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6, 
       20, 
        OPC_CheckComplexPat, /*CP*/29, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 28, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRBi8), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6, 
       0, 
      48, 
       OPC_CheckPredicate, 46,
       OPC_CheckPatternPredicate, 1,
       OPC_Scope, 20, 
        OPC_CheckComplexPat, /*CP*/28, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 28, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRHi12), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6, 
       20, 
        OPC_CheckComplexPat, /*CP*/29, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 28, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRHi8), 0|OPFL_Chain|OPFL_MemRefs,
                      5, 1, 3, 4, 5, 6, 
       0, 
      0, 
     0, 
    108|128,1, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::i32,
     OPC_CheckType, MVT::i32,
     OPC_Scope, 54, 
      OPC_CheckPredicate, 49,
      OPC_CheckPredicate, 53,
      OPC_CheckPatternPredicate, 4,
      OPC_Scope, 22, 
       OPC_CheckComplexPat, /*CP*/18, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::STRi_preidx), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
      22, 
       OPC_CheckComplexPat, /*CP*/17, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::STRr_preidx), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
      0, 
     86, 
      OPC_CheckPredicate, 45,
      OPC_CheckPredicate, 53,
      OPC_Scope, 52, 
       OPC_CheckPredicate, 48,
       OPC_CheckPatternPredicate, 4,
       OPC_Scope, 22, 
        OPC_CheckComplexPat, /*CP*/18, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 28, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::STRBi_preidx), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
       22, 
        OPC_CheckComplexPat, /*CP*/17, /*#*/3,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 28, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo1, TARGET_VAL(ARM::STRBr_preidx), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
       0, 
      26, 
       OPC_CheckPredicate, 42,
       OPC_CheckPatternPredicate, 4,
       OPC_CheckComplexPat, /*CP*/19, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::STRH_preidx), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
      0, 
     27, 
      OPC_CheckPredicate, 49,
      OPC_CheckPredicate, 53,
      OPC_CheckPatternPredicate, 1,
      OPC_CheckComplexPat, /*CP*/22, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2STR_preidx), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 5, 1, 2, 4, 5, 6, 
     58, 
      OPC_CheckPredicate, 45,
      OPC_CheckPredicate, 53,
      OPC_Scope, 25, 
       OPC_CheckPredicate, 48,
       OPC_CheckPatternPredicate, 1,
       OPC_CheckComplexPat, /*CP*/22, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::t2STRB_preidx), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 5, 1, 2, 4, 5, 6, 
      25, 
       OPC_CheckPredicate, 42,
       OPC_CheckPatternPredicate, 1,
       OPC_CheckComplexPat, /*CP*/22, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::t2STRH_preidx), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 5, 1, 2, 4, 5, 6, 
      0, 
     0, 
    27, 
     OPC_CheckChild3Integer, 8, 
     OPC_CheckPredicate, 49,
     OPC_CheckPredicate, 47,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 6,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tSTMIA_UPD), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 1, 
    0, 
   111, 
    OPC_CheckChild1Type, MVT::f64,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::i32,
    OPC_CheckPredicate, 44,
    OPC_CheckPredicate, 49,
    OPC_Scope, 24, 
     OPC_CheckPredicate, 52,
     OPC_CheckPatternPredicate, 47,
     OPC_CheckComplexPat, /*CP*/23, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRD), 0|OPFL_Chain|OPFL_MemRefs,
                   5, 1, 3, 4, 5, 6, 
    24, 
     OPC_CheckPredicate, 54,
     OPC_CheckPatternPredicate, 48,
     OPC_CheckComplexPat, /*CP*/13, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1d16), 0|OPFL_Chain|OPFL_MemRefs,
                   5, 3, 4, 1, 5, 6, 
    24, 
     OPC_CheckPredicate, 55,
     OPC_CheckPatternPredicate, 48,
     OPC_CheckComplexPat, /*CP*/13, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1d8), 0|OPFL_Chain|OPFL_MemRefs,
                   5, 3, 4, 1, 5, 6, 
    24, 
     OPC_CheckPredicate, 56,
     OPC_CheckPatternPredicate, 49,
     OPC_CheckComplexPat, /*CP*/13, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1d64), 0|OPFL_Chain|OPFL_MemRefs,
                   5, 3, 4, 1, 5, 6, 
    0, 
   33, 
    OPC_CheckChild1Type, MVT::f32,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::i32,
    OPC_CheckPredicate, 44,
    OPC_CheckPredicate, 49,
    OPC_CheckPredicate, 52,
    OPC_CheckPatternPredicate, 47,
    OPC_CheckComplexPat, /*CP*/23, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRS), 0|OPFL_Chain|OPFL_MemRefs,
                  5, 1, 3, 4, 5, 6, 
   33, 
    OPC_CheckChild1Type, MVT::f16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::i32,
    OPC_CheckPredicate, 44,
    OPC_CheckPredicate, 49,
    OPC_CheckPredicate, 51,
    OPC_CheckPatternPredicate, 50,
    OPC_CheckComplexPat, /*CP*/30, /*#*/2,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRH), 0|OPFL_Chain|OPFL_MemRefs,
                  5, 1, 3, 4, 5, 6, 
   70, 
    OPC_CheckChild1Type, MVT::bf16,
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::i32,
    OPC_CheckPredicate, 44,
    OPC_CheckPredicate, 49,
    OPC_CheckPredicate, 51,
    OPC_Scope, 22, 
     OPC_CheckPatternPredicate, 50,
     OPC_CheckComplexPat, /*CP*/30, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTRH), 0|OPFL_Chain|OPFL_MemRefs,
                   5, 1, 3, 4, 5, 6, 
    33, 
     OPC_CheckPatternPredicate, 51,
     OPC_CheckComplexPat, /*CP*/28, /*#*/2,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitStringInteger, MVT::i32, ARM::GPRRegClassID,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                   MVT::i32, 2, 1, 5, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STRHi12), 0|OPFL_Chain|OPFL_MemRefs,
                   5, 6, 3, 4, 7, 8, 
    0, 
   50|128,4, 
    OPC_CheckChild1Type, MVT::v2f64,
    OPC_RecordChild2,
    OPC_Scope, 73|128,2, 
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_CheckPredicate, 49,
     OPC_Scope, 24, 
      OPC_CheckPredicate, 57,
      OPC_CheckPatternPredicate, 7,
      OPC_CheckComplexPat, /*CP*/13, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1q64), 0|OPFL_Chain|OPFL_MemRefs,
                    5, 3, 4, 1, 5, 6, 
     24, 
      OPC_CheckPredicate, 58,
      OPC_CheckPatternPredicate, 48,
      OPC_CheckComplexPat, /*CP*/13, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1q32), 0|OPFL_Chain|OPFL_MemRefs,
                    5, 3, 4, 1, 5, 6, 
     24, 
      OPC_CheckPredicate, 54,
      OPC_CheckPatternPredicate, 48,
      OPC_CheckComplexPat, /*CP*/13, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1q16), 0|OPFL_Chain|OPFL_MemRefs,
                    5, 3, 4, 1, 5, 6, 
     54, 
      OPC_CheckPredicate, 55,
      OPC_Scope, 22, 
       OPC_CheckPatternPredicate, 48,
       OPC_CheckComplexPat, /*CP*/13, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1q8), 0|OPFL_Chain|OPFL_MemRefs,
                     5, 3, 4, 1, 5, 6, 
      26, 
       OPC_CheckPatternPredicate, 52,
       OPC_CheckComplexPat, /*CP*/31, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 1, 3, 4, 5, 6, 7, 
      0, 
     28, 
      OPC_CheckPredicate, 54,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/32, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 1, 3, 4, 5, 6, 7, 
     28, 
      OPC_CheckPredicate, 52,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/33, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 1, 3, 4, 5, 6, 7, 
     39, 
      OPC_CheckPredicate, 55,
      OPC_CheckPatternPredicate, 49,
      OPC_CheckComplexPat, /*CP*/13, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(ARM::VREV64q8), 0,
                    MVT::v16i8, 3, 1, 5, 6, 
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1q8), 0|OPFL_Chain|OPFL_MemRefs,
                    5, 3, 4, 7, 8, 9, 
     39, 
      OPC_CheckPredicate, 54,
      OPC_CheckPatternPredicate, 49,
      OPC_CheckComplexPat, /*CP*/13, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(ARM::VREV64q16), 0,
                    MVT::v16i8, 3, 1, 5, 6, 
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::VST1q16), 0|OPFL_Chain|OPFL_MemRefs,
                    5, 3, 4, 7, 8, 9, 
     52, 
      OPC_CheckPatternPredicate, 53,
      OPC_CheckComplexPat, /*CP*/31, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_EmitNode1, TARGET_VAL(ARM::MVE_VREV64_8), 0,
                    MVT::v16i8, 5, 1, 5, 6, 7, 8, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 9, 3, 4, 10, 11, 12, 
     0, 
    69|128,1, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::i32,
     OPC_CheckPredicate, 49,
     OPC_CheckType, MVT::i32,
     OPC_Scope, 29, 
      OPC_CheckPredicate, 53,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/34, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_pre), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     29, 
      OPC_CheckPredicate, 47,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/34, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_post), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     31, 
      OPC_CheckPredicate, 53,
      OPC_CheckPredicate, 51,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/35, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_pre), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     31, 
      OPC_CheckPredicate, 47,
      OPC_CheckPredicate, 51,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/35, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_post), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     31, 
      OPC_CheckPredicate, 53,
      OPC_CheckPredicate, 52,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/36, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_pre), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     31, 
      OPC_CheckPredicate, 47,
      OPC_CheckPredicate, 52,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/36, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_post), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     0, 
    26, 
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_CheckPredicate, 49,
     OPC_CheckPredicate, 58,
     OPC_CheckPatternPredicate, 46,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::VSTMQIA), 0|OPFL_Chain|OPFL_MemRefs,
                   4, 1, 2, 3, 4, 
    0, 
   3|128,3, 
    OPC_CheckChild1Type, MVT::v16i8,
    OPC_RecordChild2,
    OPC_Scope, 122, 
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_CheckPredicate, 49,
     OPC_Scope, 28, 
      OPC_CheckPredicate, 55,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/31, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 1, 3, 4, 5, 6, 7, 
     28, 
      OPC_CheckPredicate, 54,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/32, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 1, 3, 4, 5, 6, 7, 
     28, 
      OPC_CheckPredicate, 52,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/33, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 1, 3, 4, 5, 6, 7, 
     26, 
      OPC_CheckPatternPredicate, 53,
      OPC_CheckComplexPat, /*CP*/31, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 1, 3, 4, 5, 6, 7, 
     0, 
    1|128,2, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::i32,
     OPC_CheckPredicate, 49,
     OPC_CheckType, MVT::i32,
     OPC_Scope, 29, 
      OPC_CheckPredicate, 53,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/34, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_pre), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     29, 
      OPC_CheckPredicate, 47,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/34, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_post), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     31, 
      OPC_CheckPredicate, 53,
      OPC_CheckPredicate, 51,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/35, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_pre), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     31, 
      OPC_CheckPredicate, 47,
      OPC_CheckPredicate, 51,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/35, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_post), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     31, 
      OPC_CheckPredicate, 53,
      OPC_CheckPredicate, 52,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/36, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_pre), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     31, 
      OPC_CheckPredicate, 47,
      OPC_CheckPredicate, 52,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/36, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_post), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     29, 
      OPC_CheckPredicate, 53,
      OPC_CheckPatternPredicate, 53,
      OPC_CheckComplexPat, /*CP*/34, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_pre), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     29, 
      OPC_CheckPredicate, 47,
      OPC_CheckPatternPredicate, 53,
      OPC_CheckComplexPat, /*CP*/34, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 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, 
   44|128,4, 
    OPC_CheckChild1Type, MVT::v8i16,
    OPC_RecordChild2,
    OPC_Scope, 85|128,1, 
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_Scope, 120, 
      OPC_CheckPredicate, 49,
      OPC_Scope, 28, 
       OPC_CheckPredicate, 55,
       OPC_CheckPatternPredicate, 52,
       OPC_CheckComplexPat, /*CP*/31, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 1, 3, 4, 5, 6, 7, 
      28, 
       OPC_CheckPredicate, 54,
       OPC_CheckPatternPredicate, 52,
       OPC_CheckComplexPat, /*CP*/32, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 1, 3, 4, 5, 6, 7, 
      28, 
       OPC_CheckPredicate, 52,
       OPC_CheckPatternPredicate, 52,
       OPC_CheckComplexPat, /*CP*/33, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 1, 3, 4, 5, 6, 7, 
      28, 
       OPC_CheckPredicate, 51,
       OPC_CheckPatternPredicate, 53,
       OPC_CheckComplexPat, /*CP*/32, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 1, 3, 4, 5, 6, 7, 
      0, 
     30, 
      OPC_CheckPredicate, 45,
      OPC_CheckPredicate, 59,
      OPC_CheckPatternPredicate, 8,
      OPC_CheckComplexPat, /*CP*/37, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRB16), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 1, 3, 4, 5, 6, 7, 
     54, 
      OPC_CheckPredicate, 49,
      OPC_CheckPatternPredicate, 53,
      OPC_CheckComplexPat, /*CP*/31, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_EmitNode1, TARGET_VAL(ARM::MVE_VREV16_8), 0,
                    MVT::v16i8, 5, 1, 5, 6, 7, 8, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 9, 3, 4, 10, 11, 12, 
     0, 
    78|128,2, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::i32,
     OPC_CheckType, MVT::i32,
     OPC_Scope, 0|128,2, 
      OPC_CheckPredicate, 49,
      OPC_Scope, 29, 
       OPC_CheckPredicate, 53,
       OPC_CheckPatternPredicate, 52,
       OPC_CheckComplexPat, /*CP*/34, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_pre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
      29, 
       OPC_CheckPredicate, 47,
       OPC_CheckPatternPredicate, 52,
       OPC_CheckComplexPat, /*CP*/34, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_post), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
      31, 
       OPC_CheckPredicate, 53,
       OPC_CheckPredicate, 51,
       OPC_CheckPatternPredicate, 52,
       OPC_CheckComplexPat, /*CP*/35, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_pre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
      31, 
       OPC_CheckPredicate, 47,
       OPC_CheckPredicate, 51,
       OPC_CheckPatternPredicate, 52,
       OPC_CheckComplexPat, /*CP*/35, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_post), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
      31, 
       OPC_CheckPredicate, 53,
       OPC_CheckPredicate, 52,
       OPC_CheckPatternPredicate, 52,
       OPC_CheckComplexPat, /*CP*/36, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_pre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
      31, 
       OPC_CheckPredicate, 47,
       OPC_CheckPredicate, 52,
       OPC_CheckPatternPredicate, 52,
       OPC_CheckComplexPat, /*CP*/36, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_post), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
      31, 
       OPC_CheckPredicate, 53,
       OPC_CheckPredicate, 51,
       OPC_CheckPatternPredicate, 53,
       OPC_CheckComplexPat, /*CP*/35, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_pre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
      31, 
       OPC_CheckPredicate, 47,
       OPC_CheckPredicate, 51,
       OPC_CheckPatternPredicate, 53,
       OPC_CheckComplexPat, /*CP*/35, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_post), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
      0, 
     68, 
      OPC_CheckPredicate, 45,
      OPC_Scope, 31, 
       OPC_CheckPredicate, 47,
       OPC_CheckPredicate, 59,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/34, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRB16_post), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
      31, 
       OPC_CheckPredicate, 53,
       OPC_CheckPredicate, 59,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/34, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 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, 
   63|128,3, 
    OPC_CheckChild1Type, MVT::v8f16,
    OPC_RecordChild2,
    OPC_Scope, 49|128,1, 
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_CheckPredicate, 49,
     OPC_Scope, 28, 
      OPC_CheckPredicate, 55,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/31, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 1, 3, 4, 5, 6, 7, 
     28, 
      OPC_CheckPredicate, 54,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/32, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 1, 3, 4, 5, 6, 7, 
     28, 
      OPC_CheckPredicate, 52,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/33, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 1, 3, 4, 5, 6, 7, 
     28, 
      OPC_CheckPredicate, 51,
      OPC_CheckPatternPredicate, 53,
      OPC_CheckComplexPat, /*CP*/32, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 1, 3, 4, 5, 6, 7, 
     52, 
      OPC_CheckPatternPredicate, 53,
      OPC_CheckComplexPat, /*CP*/31, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_EmitNode1, TARGET_VAL(ARM::MVE_VREV16_8), 0,
                    MVT::v16i8, 5, 1, 5, 6, 7, 8, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 9, 3, 4, 10, 11, 12, 
     0, 
    5|128,2, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::i32,
     OPC_CheckPredicate, 49,
     OPC_CheckType, MVT::i32,
     OPC_Scope, 29, 
      OPC_CheckPredicate, 53,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/34, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_pre), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     29, 
      OPC_CheckPredicate, 47,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/34, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_post), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     31, 
      OPC_CheckPredicate, 53,
      OPC_CheckPredicate, 51,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/35, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_pre), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     31, 
      OPC_CheckPredicate, 47,
      OPC_CheckPredicate, 51,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/35, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_post), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     31, 
      OPC_CheckPredicate, 53,
      OPC_CheckPredicate, 52,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/36, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_pre), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     31, 
      OPC_CheckPredicate, 47,
      OPC_CheckPredicate, 52,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/36, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_post), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     31, 
      OPC_CheckPredicate, 53,
      OPC_CheckPredicate, 51,
      OPC_CheckPatternPredicate, 53,
      OPC_CheckComplexPat, /*CP*/35, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_pre), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     31, 
      OPC_CheckPredicate, 47,
      OPC_CheckPredicate, 51,
      OPC_CheckPatternPredicate, 53,
      OPC_CheckComplexPat, /*CP*/35, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 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, 
   14|128,5, 
    OPC_CheckChild1Type, MVT::v4i32,
    OPC_RecordChild2,
    OPC_Scope, 118|128,1, 
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_Scope, 121, 
      OPC_CheckPredicate, 49,
      OPC_Scope, 28, 
       OPC_CheckPredicate, 55,
       OPC_CheckPatternPredicate, 52,
       OPC_CheckComplexPat, /*CP*/31, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 1, 3, 4, 5, 6, 7, 
      28, 
       OPC_CheckPredicate, 54,
       OPC_CheckPatternPredicate, 52,
       OPC_CheckComplexPat, /*CP*/32, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 1, 3, 4, 5, 6, 7, 
      58, 
       OPC_CheckPredicate, 52,
       OPC_Scope, 26, 
        OPC_CheckPatternPredicate, 52,
        OPC_CheckComplexPat, /*CP*/33, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 1, 3, 4, 5, 6, 7, 
       26, 
        OPC_CheckPatternPredicate, 53,
        OPC_CheckComplexPat, /*CP*/33, /*#*/2,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 1, 3, 4, 5, 6, 7, 
       0, 
      0, 
     62, 
      OPC_CheckPredicate, 45,
      OPC_Scope, 28, 
       OPC_CheckPredicate, 59,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/37, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRB32), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 1, 3, 4, 5, 6, 7, 
      28, 
       OPC_CheckPredicate, 60,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/38, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH32), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 1, 3, 4, 5, 6, 7, 
      0, 
     54, 
      OPC_CheckPredicate, 49,
      OPC_CheckPatternPredicate, 53,
      OPC_CheckComplexPat, /*CP*/31, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_EmitNode1, TARGET_VAL(ARM::MVE_VREV32_8), 0,
                    MVT::v16i8, 5, 1, 5, 6, 7, 8, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 9, 3, 4, 10, 11, 12, 
     0, 
    15|128,3, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::i32,
     OPC_CheckType, MVT::i32,
     OPC_Scope, 0|128,2, 
      OPC_CheckPredicate, 49,
      OPC_Scope, 29, 
       OPC_CheckPredicate, 53,
       OPC_CheckPatternPredicate, 52,
       OPC_CheckComplexPat, /*CP*/34, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_pre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
      29, 
       OPC_CheckPredicate, 47,
       OPC_CheckPatternPredicate, 52,
       OPC_CheckComplexPat, /*CP*/34, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_post), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
      31, 
       OPC_CheckPredicate, 53,
       OPC_CheckPredicate, 51,
       OPC_CheckPatternPredicate, 52,
       OPC_CheckComplexPat, /*CP*/35, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_pre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
      31, 
       OPC_CheckPredicate, 47,
       OPC_CheckPredicate, 51,
       OPC_CheckPatternPredicate, 52,
       OPC_CheckComplexPat, /*CP*/35, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_post), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
      31, 
       OPC_CheckPredicate, 53,
       OPC_CheckPredicate, 52,
       OPC_CheckPatternPredicate, 52,
       OPC_CheckComplexPat, /*CP*/36, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_pre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
      31, 
       OPC_CheckPredicate, 47,
       OPC_CheckPredicate, 52,
       OPC_CheckPatternPredicate, 52,
       OPC_CheckComplexPat, /*CP*/36, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_post), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
      31, 
       OPC_CheckPredicate, 53,
       OPC_CheckPredicate, 52,
       OPC_CheckPatternPredicate, 53,
       OPC_CheckComplexPat, /*CP*/36, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_pre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
      31, 
       OPC_CheckPredicate, 47,
       OPC_CheckPredicate, 52,
       OPC_CheckPatternPredicate, 53,
       OPC_CheckComplexPat, /*CP*/36, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_post), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
      0, 
     4|128,1, 
      OPC_CheckPredicate, 45,
      OPC_Scope, 31, 
       OPC_CheckPredicate, 47,
       OPC_CheckPredicate, 59,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/34, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRB32_post), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
      31, 
       OPC_CheckPredicate, 53,
       OPC_CheckPredicate, 59,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/34, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRB32_pre), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
      31, 
       OPC_CheckPredicate, 47,
       OPC_CheckPredicate, 60,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/35, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRH32_post), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
      31, 
       OPC_CheckPredicate, 53,
       OPC_CheckPredicate, 60,
       OPC_CheckPatternPredicate, 8,
       OPC_CheckComplexPat, /*CP*/35, /*#*/3,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 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, 
   64|128,3, 
    OPC_CheckChild1Type, MVT::v4f32,
    OPC_RecordChild2,
    OPC_Scope, 50|128,1, 
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_CheckPredicate, 49,
     OPC_Scope, 28, 
      OPC_CheckPredicate, 55,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/31, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 1, 3, 4, 5, 6, 7, 
     28, 
      OPC_CheckPredicate, 54,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/32, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 1, 3, 4, 5, 6, 7, 
     58, 
      OPC_CheckPredicate, 52,
      OPC_Scope, 26, 
       OPC_CheckPatternPredicate, 52,
       OPC_CheckComplexPat, /*CP*/33, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 1, 3, 4, 5, 6, 7, 
      26, 
       OPC_CheckPatternPredicate, 53,
       OPC_CheckComplexPat, /*CP*/33, /*#*/2,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 1, 3, 4, 5, 6, 7, 
      0, 
     52, 
      OPC_CheckPatternPredicate, 53,
      OPC_CheckComplexPat, /*CP*/31, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_EmitNode1, TARGET_VAL(ARM::MVE_VREV32_8), 0,
                    MVT::v16i8, 5, 1, 5, 6, 7, 8, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 9, 3, 4, 10, 11, 12, 
     0, 
    5|128,2, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::i32,
     OPC_CheckPredicate, 49,
     OPC_CheckType, MVT::i32,
     OPC_Scope, 29, 
      OPC_CheckPredicate, 53,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/34, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_pre), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     29, 
      OPC_CheckPredicate, 47,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/34, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_post), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     31, 
      OPC_CheckPredicate, 53,
      OPC_CheckPredicate, 51,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/35, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_pre), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     31, 
      OPC_CheckPredicate, 47,
      OPC_CheckPredicate, 51,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/35, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_post), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     31, 
      OPC_CheckPredicate, 53,
      OPC_CheckPredicate, 52,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/36, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_pre), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     31, 
      OPC_CheckPredicate, 47,
      OPC_CheckPredicate, 52,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/36, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_post), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     31, 
      OPC_CheckPredicate, 53,
      OPC_CheckPredicate, 52,
      OPC_CheckPatternPredicate, 53,
      OPC_CheckComplexPat, /*CP*/36, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_pre), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     31, 
      OPC_CheckPredicate, 47,
      OPC_CheckPredicate, 52,
      OPC_CheckPatternPredicate, 53,
      OPC_CheckComplexPat, /*CP*/36, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 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, 
   98|128,2, 
    OPC_CheckChild1Type, MVT::v2i64,
    OPC_RecordChild2,
    OPC_Scope, 20|128,1, 
     OPC_CheckChild2Type, MVT::i32,
     OPC_CheckPredicate, 44,
     OPC_CheckPredicate, 49,
     OPC_Scope, 28, 
      OPC_CheckPredicate, 55,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/31, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 1, 3, 4, 5, 6, 7, 
     28, 
      OPC_CheckPredicate, 54,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/32, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 1, 3, 4, 5, 6, 7, 
     28, 
      OPC_CheckPredicate, 52,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/33, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 1, 3, 4, 5, 6, 7, 
     52, 
      OPC_CheckPatternPredicate, 53,
      OPC_CheckComplexPat, /*CP*/31, /*#*/2,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_EmitNode1, TARGET_VAL(ARM::MVE_VREV64_8), 0,
                    MVT::v16i8, 5, 1, 5, 6, 7, 8, 
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 9, 3, 4, 10, 11, 12, 
     0, 
    69|128,1, 
     OPC_RecordChild3,
     OPC_CheckChild3Type, MVT::i32,
     OPC_CheckPredicate, 49,
     OPC_CheckType, MVT::i32,
     OPC_Scope, 29, 
      OPC_CheckPredicate, 53,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/34, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_pre), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     29, 
      OPC_CheckPredicate, 47,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/34, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRBU8_post), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     31, 
      OPC_CheckPredicate, 53,
      OPC_CheckPredicate, 51,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/35, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_pre), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     31, 
      OPC_CheckPredicate, 47,
      OPC_CheckPredicate, 51,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/35, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRHU16_post), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     31, 
      OPC_CheckPredicate, 53,
      OPC_CheckPredicate, 52,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/36, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VSTRWU32_pre), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 6, 1, 2, 4, 5, 6, 7, 
     31, 
      OPC_CheckPredicate, 47,
      OPC_CheckPredicate, 52,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/36, /*#*/3,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 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, 
 17|128,31, TARGET_VAL(ISD::INTRINSIC_VOID),
  OPC_Scope, 81|128,6, 
   OPC_RecordNode,
   OPC_Scope, 87, 
    OPC_CheckChild1Integer, 30|128,36, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild7,
    OPC_MoveChild7,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_Scope, 22, 
     OPC_CheckPatternPredicate, 54,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::CDP), 0|OPFL_Chain,
                   8, 1, 2, 3, 4, 5, 6, 7, 8, 
    22, 
     OPC_CheckPatternPredicate, 55,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::t2CDP), 0|OPFL_Chain,
                   8, 1, 2, 3, 4, 5, 6, 7, 8, 
    0, 
   79, 
    OPC_CheckChild1Integer, 32|128,36, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_MoveChild4,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild7,
    OPC_MoveChild7,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_Scope, 14, 
     OPC_CheckPatternPredicate, 54,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::CDP2), 0|OPFL_Chain,
                   6, 1, 2, 3, 4, 5, 6, 
    22, 
     OPC_CheckPatternPredicate, 55,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::t2CDP2), 0|OPFL_Chain,
                   8, 1, 2, 3, 4, 5, 6, 7, 8, 
    0, 
   68, 
    OPC_CheckChild1Integer, 78|128,36, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::i32,
    OPC_Scope, 23, 
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/23, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::LDC_OFFSET), 0|OPFL_Chain,
                   6, 1, 2, 4, 5, 6, 7, 
    23, 
     OPC_CheckPatternPredicate, 1,
     OPC_CheckComplexPat, /*CP*/23, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::t2LDC_OFFSET), 0|OPFL_Chain,
                   6, 1, 2, 4, 5, 6, 7, 
    0, 
   68, 
    OPC_CheckChild1Integer, 84|128,36, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::i32,
    OPC_Scope, 23, 
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/23, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::LDCL_OFFSET), 0|OPFL_Chain,
                   6, 1, 2, 4, 5, 6, 7, 
    23, 
     OPC_CheckPatternPredicate, 1,
     OPC_CheckComplexPat, /*CP*/23, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::t2LDCL_OFFSET), 0|OPFL_Chain,
                   6, 1, 2, 4, 5, 6, 7, 
    0, 
   60, 
    OPC_CheckChild1Integer, 80|128,36, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::i32,
    OPC_Scope, 15, 
     OPC_CheckPatternPredicate, 54,
     OPC_CheckComplexPat, /*CP*/23, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::LDC2_OFFSET), 0|OPFL_Chain,
                   4, 1, 2, 4, 5, 
    23, 
     OPC_CheckPatternPredicate, 55,
     OPC_CheckComplexPat, /*CP*/23, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::t2LDC2_OFFSET), 0|OPFL_Chain,
                   6, 1, 2, 4, 5, 6, 7, 
    0, 
   60, 
    OPC_CheckChild1Integer, 82|128,36, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::i32,
    OPC_Scope, 15, 
     OPC_CheckPatternPredicate, 54,
     OPC_CheckComplexPat, /*CP*/23, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::LDC2L_OFFSET), 0|OPFL_Chain,
                   4, 1, 2, 4, 5, 
    23, 
     OPC_CheckPatternPredicate, 55,
     OPC_CheckComplexPat, /*CP*/23, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::t2LDC2L_OFFSET), 0|OPFL_Chain,
                   6, 1, 2, 4, 5, 6, 7, 
    0, 
   68, 
    OPC_CheckChild1Integer, 110|128,42, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::i32,
    OPC_Scope, 23, 
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/23, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::STC_OFFSET), 0|OPFL_Chain,
                   6, 1, 2, 4, 5, 6, 7, 
    23, 
     OPC_CheckPatternPredicate, 1,
     OPC_CheckComplexPat, /*CP*/23, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STC_OFFSET), 0|OPFL_Chain,
                   6, 1, 2, 4, 5, 6, 7, 
    0, 
   68, 
    OPC_CheckChild1Integer, 116|128,42, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::i32,
    OPC_Scope, 23, 
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/23, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::STCL_OFFSET), 0|OPFL_Chain,
                   6, 1, 2, 4, 5, 6, 7, 
    23, 
     OPC_CheckPatternPredicate, 1,
     OPC_CheckComplexPat, /*CP*/23, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STCL_OFFSET), 0|OPFL_Chain,
                   6, 1, 2, 4, 5, 6, 7, 
    0, 
   60, 
    OPC_CheckChild1Integer, 112|128,42, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::i32,
    OPC_Scope, 15, 
     OPC_CheckPatternPredicate, 54,
     OPC_CheckComplexPat, /*CP*/23, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::STC2_OFFSET), 0|OPFL_Chain,
                   4, 1, 2, 4, 5, 
    23, 
     OPC_CheckPatternPredicate, 55,
     OPC_CheckComplexPat, /*CP*/23, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STC2_OFFSET), 0|OPFL_Chain,
                   6, 1, 2, 4, 5, 6, 7, 
    0, 
   60, 
    OPC_CheckChild1Integer, 114|128,42, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_CheckChild4Type, MVT::i32,
    OPC_Scope, 15, 
     OPC_CheckPatternPredicate, 54,
     OPC_CheckComplexPat, /*CP*/23, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::STC2L_OFFSET), 0|OPFL_Chain,
                   4, 1, 2, 4, 5, 
    23, 
     OPC_CheckPatternPredicate, 55,
     OPC_CheckComplexPat, /*CP*/23, /*#*/3,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::t2STC2L_OFFSET), 0|OPFL_Chain,
                   6, 1, 2, 4, 5, 6, 7, 
    0, 
   82, 
    OPC_CheckChild1Integer, 90|128,36, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild7,
    OPC_MoveChild7,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_Scope, 22, 
     OPC_CheckPatternPredicate, 4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::MCR), 0|OPFL_Chain,
                   8, 1, 2, 3, 4, 5, 6, 7, 8, 
    22, 
     OPC_CheckPatternPredicate, 1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::t2MCR), 0|OPFL_Chain,
                   8, 1, 2, 3, 4, 5, 6, 7, 8, 
    0, 
   74, 
    OPC_CheckChild1Integer, 92|128,36, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_MoveChild5,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild7,
    OPC_MoveChild7,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_Scope, 14, 
     OPC_CheckPatternPredicate, 54,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::MCR2), 0|OPFL_Chain,
                   6, 1, 2, 3, 4, 5, 6, 
    22, 
     OPC_CheckPatternPredicate, 55,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::t2MCR2), 0|OPFL_Chain,
                   8, 1, 2, 3, 4, 5, 6, 7, 8, 
    0, 
   0, 
  80|128,7, 
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_Scope, 100|128,3, 
    OPC_CheckChild1Integer, 104|128,39, 
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::i32,
    OPC_RecordChild3,
    OPC_Scope, 34, 
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_MoveChild5,
     OPC_CheckInteger, 16, 
     OPC_MoveParent,
     OPC_MoveChild6,
     OPC_CheckInteger, 0, 
     OPC_MoveParent,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRB8_rq), 0|OPFL_Chain|OPFL_MemRefs,
                   6, 3, 1, 2, 4, 5, 6, 
    29|128,1, 
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_RecordChild4,
     OPC_Scope, 91, 
      OPC_CheckChild4Type, MVT::v8i16,
      OPC_MoveChild5,
      OPC_Scope, 28, 
       OPC_CheckInteger, 16, 
       OPC_MoveParent,
       OPC_MoveChild6,
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRB16_rq), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 3, 1, 2, 4, 5, 6, 
      56, 
       OPC_CheckInteger, 32, 
       OPC_MoveParent,
       OPC_MoveChild6,
       OPC_Scope, 24, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH16_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 3, 1, 2, 4, 5, 6, 
       24, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH16_rq), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 3, 1, 2, 4, 5, 6, 
       0, 
      0, 
     59, 
      OPC_CheckChild4Type, MVT::v8f16,
      OPC_MoveChild5,
      OPC_CheckInteger, 32, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 24, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH16_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 3, 1, 2, 4, 5, 6, 
      24, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH16_rq), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 3, 1, 2, 4, 5, 6, 
      0, 
     0, 
    87|128,1, 
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_RecordChild4,
     OPC_Scope, 20|128,1, 
      OPC_CheckChild4Type, MVT::v4i32,
      OPC_MoveChild5,
      OPC_Scope, 28, 
       OPC_CheckInteger, 16, 
       OPC_MoveParent,
       OPC_MoveChild6,
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRB32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 3, 1, 2, 4, 5, 6, 
      56, 
       OPC_CheckInteger, 32, 
       OPC_MoveParent,
       OPC_MoveChild6,
       OPC_Scope, 24, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH32_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 3, 1, 2, 4, 5, 6, 
       24, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 3, 1, 2, 4, 5, 6, 
       0, 
      56, 
       OPC_CheckInteger, 64, 
       OPC_MoveParent,
       OPC_MoveChild6,
       OPC_Scope, 24, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRW32_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 3, 1, 2, 4, 5, 6, 
       24, 
        OPC_CheckInteger, 4, 
        OPC_MoveParent,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 0, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRW32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 3, 1, 2, 4, 5, 6, 
       0, 
      0, 
     59, 
      OPC_CheckChild4Type, MVT::v4f32,
      OPC_MoveChild5,
      OPC_CheckInteger, 64, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 24, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRW32_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 3, 1, 2, 4, 5, 6, 
      24, 
       OPC_CheckInteger, 4, 
       OPC_MoveParent,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRW32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 3, 1, 2, 4, 5, 6, 
      0, 
     0, 
    63, 
     OPC_CheckChild3Type, MVT::v2i64,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v2i64,
     OPC_MoveChild5,
     OPC_CheckInteger, 0|128,1, 
     OPC_MoveParent,
     OPC_MoveChild6,
     OPC_Scope, 24, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRD64_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 3, 1, 2, 4, 5, 6, 
     24, 
      OPC_CheckInteger, 6, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRD64_rq), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 3, 1, 2, 4, 5, 6, 
     0, 
    0, 
   100|128,3, 
    OPC_CheckChild1Integer, 106|128,39, 
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::i32,
    OPC_RecordChild3,
    OPC_Scope, 34, 
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_MoveChild5,
     OPC_CheckInteger, 16, 
     OPC_MoveParent,
     OPC_MoveChild6,
     OPC_CheckInteger, 0, 
     OPC_MoveParent,
     OPC_RecordChild7,
     OPC_CheckChild7Type, MVT::v16i1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 2, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRB8_rq), 0|OPFL_Chain|OPFL_MemRefs,
                   6, 3, 1, 2, 5, 4, 6, 
    29|128,1, 
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_RecordChild4,
     OPC_Scope, 91, 
      OPC_CheckChild4Type, MVT::v8i16,
      OPC_MoveChild5,
      OPC_Scope, 28, 
       OPC_CheckInteger, 16, 
       OPC_MoveParent,
       OPC_MoveChild6,
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRB16_rq), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 3, 1, 2, 5, 4, 6, 
      56, 
       OPC_CheckInteger, 32, 
       OPC_MoveParent,
       OPC_MoveChild6,
       OPC_Scope, 24, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v8i1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH16_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 3, 1, 2, 5, 4, 6, 
       24, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v8i1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH16_rq), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 3, 1, 2, 5, 4, 6, 
       0, 
      0, 
     59, 
      OPC_CheckChild4Type, MVT::v8f16,
      OPC_MoveChild5,
      OPC_CheckInteger, 32, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 24, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH16_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 3, 1, 2, 5, 4, 6, 
      24, 
       OPC_CheckInteger, 2, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v8i1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH16_rq), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 3, 1, 2, 5, 4, 6, 
      0, 
     0, 
    87|128,1, 
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_RecordChild4,
     OPC_Scope, 20|128,1, 
      OPC_CheckChild4Type, MVT::v4i32,
      OPC_MoveChild5,
      OPC_Scope, 28, 
       OPC_CheckInteger, 16, 
       OPC_MoveParent,
       OPC_MoveChild6,
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRB32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 3, 1, 2, 5, 4, 6, 
      56, 
       OPC_CheckInteger, 32, 
       OPC_MoveParent,
       OPC_MoveChild6,
       OPC_Scope, 24, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH32_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 3, 1, 2, 5, 4, 6, 
       24, 
        OPC_CheckInteger, 2, 
        OPC_MoveParent,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRH32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 3, 1, 2, 5, 4, 6, 
       0, 
      56, 
       OPC_CheckInteger, 64, 
       OPC_MoveParent,
       OPC_MoveChild6,
       OPC_Scope, 24, 
        OPC_CheckInteger, 0, 
        OPC_MoveParent,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRW32_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 3, 1, 2, 5, 4, 6, 
       24, 
        OPC_CheckInteger, 4, 
        OPC_MoveParent,
        OPC_RecordChild7,
        OPC_CheckChild7Type, MVT::v4i1,
        OPC_EmitMergeInputChains1_0,
        OPC_EmitInteger, MVT::i32, 2, 
        OPC_EmitRegister, MVT::i32, 0 ,
        OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRW32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                      6, 3, 1, 2, 5, 4, 6, 
       0, 
      0, 
     59, 
      OPC_CheckChild4Type, MVT::v4f32,
      OPC_MoveChild5,
      OPC_CheckInteger, 64, 
      OPC_MoveParent,
      OPC_MoveChild6,
      OPC_Scope, 24, 
       OPC_CheckInteger, 0, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRW32_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 3, 1, 2, 5, 4, 6, 
      24, 
       OPC_CheckInteger, 4, 
       OPC_MoveParent,
       OPC_RecordChild7,
       OPC_CheckChild7Type, MVT::v4i1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 2, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRW32_rq), 0|OPFL_Chain|OPFL_MemRefs,
                     6, 3, 1, 2, 5, 4, 6, 
      0, 
     0, 
    63, 
     OPC_CheckChild3Type, MVT::v2i64,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v2i64,
     OPC_MoveChild5,
     OPC_CheckInteger, 0|128,1, 
     OPC_MoveParent,
     OPC_MoveChild6,
     OPC_Scope, 24, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_RecordChild7,
      OPC_CheckChild7Type, MVT::v2i1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRD64_rq_u), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 3, 1, 2, 5, 4, 6, 
     24, 
      OPC_CheckInteger, 6, 
      OPC_MoveParent,
      OPC_RecordChild7,
      OPC_CheckChild7Type, MVT::v2i1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRD64_rq), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 3, 1, 2, 5, 4, 6, 
     0, 
    0, 
   0, 
  22|128,1, 
   OPC_RecordNode,
   OPC_Scope, 69, 
    OPC_CheckChild1Integer, 94|128,36, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_Scope, 21, 
     OPC_CheckPatternPredicate, 4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::MCRR), 0|OPFL_Chain,
                   7, 1, 2, 3, 4, 5, 6, 7, 
    21, 
     OPC_CheckPatternPredicate, 1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::t2MCRR), 0|OPFL_Chain,
                   7, 1, 2, 3, 4, 5, 6, 7, 
    0, 
   61, 
    OPC_CheckChild1Integer, 96|128,36, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild3,
    OPC_MoveChild3,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_RecordChild4,
    OPC_RecordChild5,
    OPC_RecordChild6,
    OPC_MoveChild6,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
    OPC_MoveParent,
    OPC_Scope, 13, 
     OPC_CheckPatternPredicate, 54,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::MCRR2), 0|OPFL_Chain,
                   5, 1, 2, 3, 4, 5, 
    21, 
     OPC_CheckPatternPredicate, 55,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::t2MCRR2), 0|OPFL_Chain,
                   7, 1, 2, 3, 4, 5, 6, 7, 
    0, 
   14, 
    OPC_CheckChild1Integer, 20|128,43, 
    OPC_CheckChild2Integer, 114|128,3, 
    OPC_CheckPatternPredicate, 56,
    OPC_EmitMergeInputChains1_0,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::t__brkdiv0), 0|OPFL_Chain,
                  0, 
   0, 
  51|128,10, 
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_Scope, 118|128,2, 
    OPC_CheckChild1Integer, 92|128,39, 
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::i32,
    OPC_RecordChild3,
    OPC_Scope, 72, 
     OPC_CheckChild3Type, MVT::v16i8,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v16i8,
     OPC_MoveChild5,
     OPC_Scope, 31, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, ARM::MQQPRRegClassID,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    MVT::v4i64, 5, 4, 2, 5, 3, 6, 
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST20_8), 0|OPFL_Chain|OPFL_MemRefs,
                    2, 7, 1, 
     31, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, ARM::MQQPRRegClassID,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    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, 
    72, 
     OPC_CheckChild3Type, MVT::v8i16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8i16,
     OPC_MoveChild5,
     OPC_Scope, 31, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, ARM::MQQPRRegClassID,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    MVT::v4i64, 5, 4, 2, 5, 3, 6, 
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST20_16), 0|OPFL_Chain|OPFL_MemRefs,
                    2, 7, 1, 
     31, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, ARM::MQQPRRegClassID,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    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, 
    72, 
     OPC_CheckChild3Type, MVT::v4i32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4i32,
     OPC_MoveChild5,
     OPC_Scope, 31, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, ARM::MQQPRRegClassID,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    MVT::v4i64, 5, 4, 2, 5, 3, 6, 
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST20_32), 0|OPFL_Chain|OPFL_MemRefs,
                    2, 7, 1, 
     31, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, ARM::MQQPRRegClassID,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    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, 
    72, 
     OPC_CheckChild3Type, MVT::v8f16,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v8f16,
     OPC_MoveChild5,
     OPC_Scope, 31, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, ARM::MQQPRRegClassID,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    MVT::v4i64, 5, 4, 2, 5, 3, 6, 
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST20_16), 0|OPFL_Chain|OPFL_MemRefs,
                    2, 7, 1, 
     31, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, ARM::MQQPRRegClassID,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    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, 
    72, 
     OPC_CheckChild3Type, MVT::v4f32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4f32,
     OPC_MoveChild5,
     OPC_Scope, 31, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, ARM::MQQPRRegClassID,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    MVT::v4i64, 5, 4, 2, 5, 3, 6, 
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VST20_32), 0|OPFL_Chain|OPFL_MemRefs,
                    2, 7, 1, 
     31, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitStringInteger, MVT::i32, ARM::MQQPRRegClassID,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    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, 
   53|128,7, 
    OPC_CheckChild1Integer, 94|128,39, 
    OPC_RecordChild2,
    OPC_CheckChild2Type, MVT::i32,
    OPC_RecordChild3,
    OPC_Scope, 58|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, 42, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 6|128,2, 
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_2,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_3,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    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, 
     42, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 6|128,2, 
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_2,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_3,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    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, 
     42, 
      OPC_CheckInteger, 4, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 6|128,2, 
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_2,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_3,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    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, 
     42, 
      OPC_CheckInteger, 6, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 6|128,2, 
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_2,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_3,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    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, 
    58|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, 42, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 6|128,2, 
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_2,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_3,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    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, 
     42, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 6|128,2, 
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_2,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_3,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    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, 
     42, 
      OPC_CheckInteger, 4, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 6|128,2, 
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_2,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_3,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    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, 
     42, 
      OPC_CheckInteger, 6, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 6|128,2, 
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_2,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_3,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    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, 
    58|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, 42, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 6|128,2, 
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_2,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_3,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    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, 
     42, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 6|128,2, 
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_2,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_3,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    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, 
     42, 
      OPC_CheckInteger, 4, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 6|128,2, 
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_2,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_3,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    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, 
     42, 
      OPC_CheckInteger, 6, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 6|128,2, 
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_2,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_3,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    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, 
    58|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, 42, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 6|128,2, 
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_2,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_3,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    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, 
     42, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 6|128,2, 
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_2,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_3,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    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, 
     42, 
      OPC_CheckInteger, 4, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 6|128,2, 
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_2,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_3,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    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, 
     42, 
      OPC_CheckInteger, 6, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 6|128,2, 
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_2,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_3,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    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, 
    58|128,1, 
     OPC_CheckChild3Type, MVT::v4f32,
     OPC_RecordChild4,
     OPC_CheckChild4Type, MVT::v4f32,
     OPC_RecordChild5,
     OPC_CheckChild5Type, MVT::v4f32,
     OPC_RecordChild6,
     OPC_CheckChild6Type, MVT::v4f32,
     OPC_MoveChild7,
     OPC_Scope, 42, 
      OPC_CheckInteger, 0, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 6|128,2, 
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_2,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_3,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    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, 
     42, 
      OPC_CheckInteger, 2, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 6|128,2, 
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_2,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_3,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    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, 
     42, 
      OPC_CheckInteger, 4, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 6|128,2, 
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_2,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_3,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    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, 
     42, 
      OPC_CheckInteger, 6, 
      OPC_MoveParent,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 6|128,2, 
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_0,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_1,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_2,
      OPC_EmitStringInteger, MVT::i32, ARM::qsub_3,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::REG_SEQUENCE), 0,
                    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, 
  75|128,2, 
   OPC_RecordNode,
   OPC_Scope, 79, 
    OPC_CheckChild1Integer, 70|128,36, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 22, 
     OPC_CheckPredicate, 61,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 0,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::HINT), 0|OPFL_Chain,
                   3, 2, 3, 4, 
    22, 
     OPC_CheckPredicate, 35,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 57,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::tHINT), 0|OPFL_Chain,
                   3, 2, 3, 4, 
    22, 
     OPC_CheckPredicate, 61,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::t2HINT), 0|OPFL_Chain,
                   3, 2, 3, 4, 
    0, 
   53, 
    OPC_CheckChild1Integer, 60|128,36, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 35,
    OPC_MoveParent,
    OPC_Scope, 19, 
     OPC_CheckPatternPredicate, 58,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::DBG), 0|OPFL_Chain,
                   3, 2, 3, 4, 
    19, 
     OPC_CheckPatternPredicate, 1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::t2DBG), 0|OPFL_Chain,
                   3, 2, 3, 4, 
    0, 
   55, 
    OPC_CheckChild1Integer, 20|128,43, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 14, 
     OPC_CheckPredicate, 62,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 1,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::UDF), 0|OPFL_Chain,
                   1, 2, 
    14, 
     OPC_CheckPredicate, 63,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 59,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 1,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::tUDF), 0|OPFL_Chain,
                   1, 2, 
    14, 
     OPC_CheckPredicate, 62,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 1,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::t2UDF), 0|OPFL_Chain,
                   1, 2, 
    0, 
   45, 
    OPC_CheckChild1Integer, 62|128,36, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 35,
    OPC_MoveParent,
    OPC_Scope, 11, 
     OPC_CheckPatternPredicate, 60,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 1,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::DMB), 0|OPFL_Chain,
                   1, 2, 
    19, 
     OPC_CheckPatternPredicate, 61,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::t2DMB), 0|OPFL_Chain,
                   3, 2, 3, 4, 
    0, 
   45, 
    OPC_CheckChild1Integer, 64|128,36, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 35,
    OPC_MoveParent,
    OPC_Scope, 11, 
     OPC_CheckPatternPredicate, 60,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 1,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::DSB), 0|OPFL_Chain,
                   1, 2, 
    19, 
     OPC_CheckPatternPredicate, 61,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::t2DSB), 0|OPFL_Chain,
                   3, 2, 3, 4, 
    0, 
   45, 
    OPC_CheckChild1Integer, 72|128,36, 
    OPC_RecordChild2,
    OPC_MoveChild2,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_CheckPredicate, 35,
    OPC_MoveParent,
    OPC_Scope, 11, 
     OPC_CheckPatternPredicate, 60,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 1,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::ISB), 0|OPFL_Chain,
                   1, 2, 
    19, 
     OPC_CheckPatternPredicate, 61,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::t2ISB), 0|OPFL_Chain,
                   3, 2, 3, 4, 
    0, 
   0, 
  20|128,2, 
   OPC_RecordMemRef,
   OPC_RecordNode,
   OPC_Scope, 6|128,1, 
    OPC_CheckChild1Integer, 96|128,39, 
    OPC_RecordChild2,
    OPC_Scope, 63, 
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_Scope, 25, 
      OPC_CheckChild4Type, MVT::v4i32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget, 2,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRW32_qi), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 3, 1, 4, 5, 6, 7, 
     25, 
      OPC_CheckChild4Type, MVT::v4f32,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget, 2,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRW32_qi), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 3, 1, 4, 5, 6, 7, 
     0, 
    63, 
     OPC_CheckChild2Type, MVT::v2i64,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_Scope, 25, 
      OPC_CheckChild4Type, MVT::v2i64,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget, 2,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRD64_qi), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 3, 1, 4, 5, 6, 7, 
     25, 
      OPC_CheckChild4Type, MVT::v2f64,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget, 2,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRD64_qi), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 3, 1, 4, 5, 6, 7, 
     0, 
    0, 
   6|128,1, 
    OPC_CheckChild1Integer, 98|128,39, 
    OPC_RecordChild2,
    OPC_Scope, 63, 
     OPC_CheckChild2Type, MVT::v4i32,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_Scope, 25, 
      OPC_CheckChild4Type, MVT::v4i32,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget, 2,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRW32_qi), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 3, 1, 5, 6, 4, 7, 
     25, 
      OPC_CheckChild4Type, MVT::v4f32,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v4i1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget, 2,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRW32_qi), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 3, 1, 5, 6, 4, 7, 
     0, 
    63, 
     OPC_CheckChild2Type, MVT::v2i64,
     OPC_RecordChild3,
     OPC_MoveChild3,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_MoveParent,
     OPC_RecordChild4,
     OPC_Scope, 25, 
      OPC_CheckChild4Type, MVT::v2i64,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v2i1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget, 2,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRD64_qi), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 3, 1, 5, 6, 4, 7, 
     25, 
      OPC_CheckChild4Type, MVT::v2f64,
      OPC_RecordChild5,
      OPC_CheckChild5Type, MVT::v2i1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitConvertToTarget, 2,
      OPC_EmitInteger, MVT::i32, 2, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::MVE_VSTRD64_qi), 0|OPFL_Chain|OPFL_MemRefs,
                    6, 3, 1, 5, 6, 4, 7, 
     0, 
    0, 
   0, 
  57, 
   OPC_RecordNode,
   OPC_Scope, 31, 
    OPC_CheckChild1Integer, 34|128,36, 
    OPC_Scope, 8, 
     OPC_CheckPatternPredicate, 62,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::CLREX), 0|OPFL_Chain,
                   0, 
    16, 
     OPC_CheckPatternPredicate, 63,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo0, TARGET_VAL(ARM::t2CLREX), 0|OPFL_Chain,
                   2, 1, 2, 
    0, 
   21, 
    OPC_CheckChild1Integer, 36|128,42, 
    OPC_RecordChild2,
    OPC_CheckPatternPredicate, 47,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::VMSR), 0|OPFL_Chain,
                  3, 1, 2, 3, 
   0, 
  0, 
 4|128,3, TARGET_VAL(ARMISD::PRELOAD),
  OPC_RecordNode,
  OPC_Scope, 69|128,2, 
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::i32,
   OPC_Scope, 12|128,1, 
    OPC_CheckChild2Integer, 2, 
    OPC_CheckChild2Type, MVT::i32,
    OPC_Scope, 31, 
     OPC_CheckChild3Integer, 2, 
     OPC_CheckPatternPredicate, 4,
     OPC_Scope, 12, 
      OPC_CheckComplexPat, /*CP*/20, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::PLDrs), 0|OPFL_Chain,
                    3, 2, 3, 4, 
     11, 
      OPC_CheckComplexPat, /*CP*/24, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::PLDi12), 0|OPFL_Chain,
                    2, 2, 3, 
     0, 
    101, 
     OPC_CheckChild3Integer, 0, 
     OPC_Scope, 14, 
      OPC_CheckPatternPredicate, 58,
      OPC_CheckComplexPat, /*CP*/20, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::PLIrs), 0|OPFL_Chain,
                    3, 2, 3, 4, 
     22, 
      OPC_CheckPatternPredicate, 64,
      OPC_CheckComplexPat, /*CP*/21, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::t2PLDWs), 0|OPFL_Chain,
                    5, 2, 3, 4, 5, 6, 
     13, 
      OPC_CheckPatternPredicate, 58,
      OPC_CheckComplexPat, /*CP*/24, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::PLIi12), 0|OPFL_Chain,
                    2, 2, 3, 
     44, 
      OPC_CheckPatternPredicate, 64,
      OPC_Scope, 19, 
       OPC_CheckComplexPat, /*CP*/28, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::t2PLDWi12), 0|OPFL_Chain,
                     4, 2, 3, 4, 5, 
      19, 
       OPC_CheckComplexPat, /*CP*/29, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::t2PLDWi8), 0|OPFL_Chain,
                     4, 2, 3, 4, 5, 
      0, 
     0, 
    0, 
   48|128,1, 
    OPC_CheckChild2Integer, 0, 
    OPC_CheckChild2Type, MVT::i32,
    OPC_Scope, 101, 
     OPC_CheckChild3Integer, 2, 
     OPC_Scope, 14, 
      OPC_CheckPatternPredicate, 65,
      OPC_CheckComplexPat, /*CP*/20, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::PLDWrs), 0|OPFL_Chain,
                    3, 2, 3, 4, 
     22, 
      OPC_CheckPatternPredicate, 66,
      OPC_CheckComplexPat, /*CP*/21, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::t2PLIs), 0|OPFL_Chain,
                    5, 2, 3, 4, 5, 6, 
     13, 
      OPC_CheckPatternPredicate, 65,
      OPC_CheckComplexPat, /*CP*/24, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::PLDWi12), 0|OPFL_Chain,
                    2, 2, 3, 
     44, 
      OPC_CheckPatternPredicate, 66,
      OPC_Scope, 19, 
       OPC_CheckComplexPat, /*CP*/28, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::t2PLIi12), 0|OPFL_Chain,
                     4, 2, 3, 4, 5, 
      19, 
       OPC_CheckComplexPat, /*CP*/29, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo0, TARGET_VAL(ARM::t2PLIi8), 0|OPFL_Chain,
                     4, 2, 3, 4, 5, 
      0, 
     0, 
    67, 
     OPC_CheckChild3Integer, 0, 
     OPC_CheckPatternPredicate, 1,
     OPC_Scope, 20, 
      OPC_CheckComplexPat, /*CP*/21, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::t2PLDs), 0|OPFL_Chain,
                    5, 2, 3, 4, 5, 6, 
     19, 
      OPC_CheckComplexPat, /*CP*/28, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::t2PLDi12), 0|OPFL_Chain,
                    4, 2, 3, 4, 5, 
     19, 
      OPC_CheckComplexPat, /*CP*/29, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo0, TARGET_VAL(ARM::t2PLDi8), 0|OPFL_Chain,
                    4, 2, 3, 4, 5, 
     0, 
    0, 
   0, 
  57, 
   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_CheckChild2Type, MVT::i32,
   OPC_Scope, 19, 
    OPC_CheckChild3Integer, 0, 
    OPC_CheckPatternPredicate, 1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::t2PLDpci), 0|OPFL_Chain,
                  3, 1, 2, 3, 
   19, 
    OPC_CheckChild3Integer, 2, 
    OPC_CheckPatternPredicate, 66,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo0, TARGET_VAL(ARM::t2PLIpci), 0|OPFL_Chain,
                  3, 1, 2, 3, 
   0, 
  0, 
 30|128,11, TARGET_VAL(ARMISD::CMPZ),
  OPC_Scope, 123, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 57, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate, 24,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0, 
    OPC_CheckPatternPredicate, 4,
    OPC_Scope, 21, 
     OPC_CheckComplexPat, /*CP*/1, /*#*/1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::TSTrsr), 0|OPFL_GlueOutput,
                   MVT::i32, 6, 0, 2, 3, 4, 5, 6, 
    21, 
     OPC_CheckComplexPat, /*CP*/1, /*#*/0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::TSTrsr), 0|OPFL_GlueOutput,
                   MVT::i32, 6, 1, 2, 3, 4, 5, 6, 
    0, 
   57, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate, 24,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0, 
    OPC_CheckPatternPredicate, 4,
    OPC_Scope, 21, 
     OPC_CheckComplexPat, /*CP*/1, /*#*/1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::TEQrsr), 0|OPFL_GlueOutput,
                   MVT::i32, 6, 0, 2, 3, 4, 5, 6, 
    21, 
     OPC_CheckComplexPat, /*CP*/1, /*#*/0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::TEQrsr), 0|OPFL_GlueOutput,
                   MVT::i32, 6, 1, 2, 3, 4, 5, 6, 
    0, 
   0,
  34, 
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::i32,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
   OPC_CheckChild0Integer, 0, 
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_CheckPatternPredicate, 4,
   OPC_CheckComplexPat, /*CP*/1, /*#*/1,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::CMNzrsr), 0|OPFL_GlueOutput,
                 MVT::i32, 6, 0, 2, 3, 4, 5, 6, 
  120|128,1, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 30, TARGET_VAL(ISD::SUB),
    OPC_CheckChild0Integer, 0, 
    OPC_RecordChild1,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_RecordChild1,
    OPC_CheckPatternPredicate, 4,
    OPC_CheckComplexPat, /*CP*/1, /*#*/0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CMNzrsr), 0|OPFL_GlueOutput,
                  MVT::i32, 6, 1, 2, 3, 4, 5, 6, 
   103, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate, 24,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0, 
    OPC_Scope, 22, 
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/3, /*#*/1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::TSTrsi), 0|OPFL_GlueOutput,
                   MVT::i32, 5, 0, 2, 3, 4, 5, 
    22, 
     OPC_CheckPatternPredicate, 1,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2TSTrs), 0|OPFL_GlueOutput,
                   MVT::i32, 5, 0, 2, 3, 4, 5, 
    22, 
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/3, /*#*/0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::TSTrsi), 0|OPFL_GlueOutput,
                   MVT::i32, 5, 1, 2, 3, 4, 5, 
    22, 
     OPC_CheckPatternPredicate, 1,
     OPC_CheckComplexPat, /*CP*/0, /*#*/0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2TSTrs), 0|OPFL_GlueOutput,
                   MVT::i32, 5, 1, 2, 3, 4, 5, 
    0, 
   103, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate, 24,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0, 
    OPC_Scope, 22, 
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/3, /*#*/1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::TEQrsi), 0|OPFL_GlueOutput,
                   MVT::i32, 5, 0, 2, 3, 4, 5, 
    22, 
     OPC_CheckPatternPredicate, 1,
     OPC_CheckComplexPat, /*CP*/0, /*#*/1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2TEQrs), 0|OPFL_GlueOutput,
                   MVT::i32, 5, 0, 2, 3, 4, 5, 
    22, 
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/3, /*#*/0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::TEQrsi), 0|OPFL_GlueOutput,
                   MVT::i32, 5, 1, 2, 3, 4, 5, 
    22, 
     OPC_CheckPatternPredicate, 1,
     OPC_CheckComplexPat, /*CP*/0, /*#*/0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2TEQrs), 0|OPFL_GlueOutput,
                   MVT::i32, 5, 1, 2, 3, 4, 5, 
    0, 
   0,
  59, 
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::i32,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
   OPC_CheckChild0Integer, 0, 
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_Scope, 22, 
    OPC_CheckPatternPredicate, 4,
    OPC_CheckComplexPat, /*CP*/3, /*#*/1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CMNzrsi), 0|OPFL_GlueOutput,
                  MVT::i32, 5, 0, 2, 3, 4, 5, 
   22, 
    OPC_CheckPatternPredicate, 1,
    OPC_CheckComplexPat, /*CP*/0, /*#*/1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CMNzrs), 0|OPFL_GlueOutput,
                  MVT::i32, 5, 0, 2, 3, 4, 5, 
   0, 
  59, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
   OPC_CheckChild0Integer, 0, 
   OPC_RecordChild1,
   OPC_CheckType, MVT::i32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_Scope, 22, 
    OPC_CheckPatternPredicate, 4,
    OPC_CheckComplexPat, /*CP*/3, /*#*/0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CMNzrsi), 0|OPFL_GlueOutput,
                  MVT::i32, 5, 1, 2, 3, 4, 5, 
   22, 
    OPC_CheckPatternPredicate, 1,
    OPC_CheckComplexPat, /*CP*/0, /*#*/0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CMNzrs), 0|OPFL_GlueOutput,
                  MVT::i32, 5, 1, 2, 3, 4, 5, 
   0, 
  96, 
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::i32,
   OPC_CheckChild1Integer, 0, 
   OPC_CheckPatternPredicate, 4,
   OPC_Scope, 43, 
    OPC_CheckComplexPat, /*CP*/1, /*#*/0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::MOVsr), 0,
                  MVT::i32, 6, 1, 2, 3, 4, 5, 6, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CMPri), 0|OPFL_GlueOutput,
                  MVT::i32, 4, 7, 8, 9, 10, 
   42, 
    OPC_CheckComplexPat, /*CP*/3, /*#*/0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::MOVsi), 0,
                  MVT::i32, 5, 1, 2, 3, 4, 5, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CMPri), 0|OPFL_GlueOutput,
                  MVT::i32, 4, 6, 7, 8, 9, 
   0, 
  21|128,1, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 70, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 30, 
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate, 24,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0, 
     OPC_CheckPatternPredicate, 4,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::TSTri), 0|OPFL_GlueOutput,
                   MVT::i32, 4, 0, 2, 3, 4, 
    30, 
     OPC_CheckPredicate, 6,
     OPC_MoveParent,
     OPC_CheckPredicate, 24,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0, 
     OPC_CheckPatternPredicate, 1,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2TSTri), 0|OPFL_GlueOutput,
                   MVT::i32, 4, 0, 2, 3, 4, 
    0, 
   70, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 30, 
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPredicate, 24,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0, 
     OPC_CheckPatternPredicate, 4,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::TEQri), 0|OPFL_GlueOutput,
                   MVT::i32, 4, 0, 2, 3, 4, 
    30, 
     OPC_CheckPredicate, 6,
     OPC_MoveParent,
     OPC_CheckPredicate, 24,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_CheckChild1Integer, 0, 
     OPC_CheckPatternPredicate, 1,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2TEQri), 0|OPFL_GlueOutput,
                   MVT::i32, 4, 0, 2, 3, 4, 
    0, 
   0,
  73, 
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::i32,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 4,
   OPC_Scope, 21, 
    OPC_CheckComplexPat, /*CP*/1, /*#*/1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CMPrsr), 0|OPFL_GlueOutput,
                  MVT::i32, 6, 0, 2, 3, 4, 5, 6, 
   21, 
    OPC_CheckComplexPat, /*CP*/1, /*#*/0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CMPrsr), 0|OPFL_GlueOutput,
                  MVT::i32, 6, 1, 2, 3, 4, 5, 6, 
   20, 
    OPC_CheckComplexPat, /*CP*/3, /*#*/1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CMPrsi), 0|OPFL_GlueOutput,
                  MVT::i32, 5, 0, 2, 3, 4, 5, 
   0, 
  85, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 49, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate, 24,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0, 
    OPC_Scope, 18, 
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::TSTrr), 0|OPFL_GlueOutput,
                   MVT::i32, 4, 0, 1, 2, 3, 
    18, 
     OPC_CheckPatternPredicate, 6,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tTST), 0|OPFL_GlueOutput,
                   MVT::i32, 4, 0, 1, 2, 3, 
    0, 
   27, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate, 24,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::TEQrr), 0|OPFL_GlueOutput,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0,
  26, 
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::i32,
   OPC_RecordChild1,
   OPC_CheckPatternPredicate, 1,
   OPC_CheckComplexPat, /*CP*/39, /*#*/1,
   OPC_EmitInteger, MVT::i32, 28, 
   OPC_EmitRegister, MVT::i32, 0 ,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CMPrs), 0|OPFL_GlueOutput,
                 MVT::i32, 5, 0, 2, 3, 4, 5, 
  63, 
   OPC_MoveChild0,
   OPC_SwitchOpcode , 27, TARGET_VAL(ISD::AND),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate, 24,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0, 
    OPC_CheckPatternPredicate, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2TSTrr), 0|OPFL_GlueOutput,
                  MVT::i32, 4, 0, 1, 2, 3, 
   27, TARGET_VAL(ISD::XOR),
    OPC_RecordChild0,
    OPC_RecordChild1,
    OPC_CheckPredicate, 24,
    OPC_CheckType, MVT::i32,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 0, 
    OPC_CheckPatternPredicate, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2TEQrr), 0|OPFL_GlueOutput,
                  MVT::i32, 4, 0, 1, 2, 3, 
   0,
  123, 
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::i32,
   OPC_Scope, 49, 
    OPC_RecordChild1,
    OPC_Scope, 22, 
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/3, /*#*/0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::CMPrsi), 0|OPFL_GlueOutput,
                   MVT::i32, 5, 1, 2, 3, 4, 5, 
    22, 
     OPC_CheckPatternPredicate, 1,
     OPC_CheckComplexPat, /*CP*/39, /*#*/0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CMPrs), 0|OPFL_GlueOutput,
                   MVT::i32, 5, 1, 2, 3, 4, 5, 
    0, 
   67, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
    OPC_CheckChild0Integer, 0, 
    OPC_RecordChild1,
    OPC_MoveParent,
    OPC_Scope, 18, 
     OPC_CheckPatternPredicate, 4,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::CMNzrr), 0|OPFL_GlueOutput,
                   MVT::i32, 4, 0, 1, 2, 3, 
    18, 
     OPC_CheckPatternPredicate, 6,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tCMNz), 0|OPFL_GlueOutput,
                   MVT::i32, 4, 0, 1, 2, 3, 
    18, 
     OPC_CheckPatternPredicate, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CMNzrr), 0|OPFL_GlueOutput,
                   MVT::i32, 4, 0, 1, 2, 3, 
    0, 
   0, 
  70, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
   OPC_CheckChild0Integer, 0, 
   OPC_RecordChild1,
   OPC_CheckType, MVT::i32,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_Scope, 18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CMNzrr), 0|OPFL_GlueOutput,
                  MVT::i32, 4, 1, 0, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 6,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::tCMNz), 0|OPFL_GlueOutput,
                  MVT::i32, 4, 1, 0, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CMNzrr), 0|OPFL_GlueOutput,
                  MVT::i32, 4, 1, 0, 2, 3, 
   0, 
  83|128,1, 
   OPC_RecordChild0,
   OPC_CheckChild0Type, MVT::i32,
   OPC_RecordChild1,
   OPC_Scope, 4|128,1, 
    OPC_MoveChild1,
    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
    OPC_Scope, 23, 
     OPC_CheckPredicate, 11,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::CMPri), 0|OPFL_GlueOutput,
                   MVT::i32, 4, 0, 2, 3, 4, 
    26, 
     OPC_CheckPredicate, 17,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 4,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 3, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::CMNri), 0|OPFL_GlueOutput,
                   MVT::i32, 4, 0, 3, 4, 5, 
    23, 
     OPC_CheckPredicate, 63,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 6,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tCMPi8), 0|OPFL_GlueOutput,
                   MVT::i32, 4, 0, 2, 3, 4, 
    23, 
     OPC_CheckPredicate, 6,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 1,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CMPri), 0|OPFL_GlueOutput,
                   MVT::i32, 4, 0, 2, 3, 4, 
    26, 
     OPC_CheckPredicate, 20,
     OPC_MoveParent,
     OPC_CheckPatternPredicate, 1,
     OPC_EmitConvertToTarget, 1,
     OPC_EmitNodeXForm, 4, 2,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CMNri), 0|OPFL_GlueOutput,
                   MVT::i32, 4, 0, 3, 4, 5, 
    0, 
   18, 
    OPC_CheckPatternPredicate, 4,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::CMPrr), 0|OPFL_GlueOutput,
                  MVT::i32, 4, 0, 1, 2, 3, 
   18, 
    OPC_CheckPatternPredicate, 6,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::tCMPr), 0|OPFL_GlueOutput,
                  MVT::i32, 4, 0, 1, 2, 3, 
   32, 
    OPC_CheckPatternPredicate, 1,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_Scope, 10, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CMPrr), 0|OPFL_GlueOutput,
                   MVT::i32, 4, 0, 1, 2, 3, 
    10, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CMPrr), 0|OPFL_GlueOutput,
                   MVT::i32, 4, 1, 0, 2, 3, 
    0, 
   0, 
  0, 
 110|128,7, TARGET_VAL(ARMISD::CMOV),
  OPC_CaptureGlueInput,
  OPC_Scope, 25, 
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 4,
   OPC_CheckComplexPat, /*CP*/1, /*#*/1,
   OPC_CheckComplexPat, /*CP*/4, /*#*/2,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MOVCCsr), 0|OPFL_GlueInput,
                 MVT::i32, 6, 0, 3, 4, 5, 6, 7, 
  27, 
   OPC_CheckChild0Integer, 2, 
   OPC_CheckChild1Integer, 0, 
   OPC_RecordChild2,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 15,
   OPC_CheckComplexPat, /*CP*/4, /*#*/0,
   OPC_EmitRegister, MVT::i32, ARM::ZR,
   OPC_EmitRegister, MVT::i32, ARM::ZR,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CSINC), 0|OPFL_GlueInput,
                 MVT::i32, 3, 3, 4, 1, 
  27, 
   OPC_CheckChild0Integer, 3, 
   OPC_CheckChild1Integer, 0, 
   OPC_RecordChild2,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 15,
   OPC_CheckComplexPat, /*CP*/4, /*#*/0,
   OPC_EmitRegister, MVT::i32, ARM::ZR,
   OPC_EmitRegister, MVT::i32, ARM::ZR,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CSINV), 0|OPFL_GlueInput,
                 MVT::i32, 3, 3, 4, 1, 
  60, 
   OPC_CheckChild0Integer, 0, 
   OPC_CheckType, MVT::i32,
   OPC_Scope, 26, 
    OPC_CheckChild1Integer, 2, 
    OPC_RecordChild2,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/4, /*#*/0,
    OPC_EmitRegister, MVT::i32, ARM::ZR,
    OPC_EmitRegister, MVT::i32, ARM::ZR,
    OPC_EmitNodeXForm, 15, 1,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CSINC), 0|OPFL_GlueInput,
                  MVT::i32, 3, 3, 4, 5, 
   26, 
    OPC_CheckChild1Integer, 3, 
    OPC_RecordChild2,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/4, /*#*/0,
    OPC_EmitRegister, MVT::i32, ARM::ZR,
    OPC_EmitRegister, MVT::i32, ARM::ZR,
    OPC_EmitNodeXForm, 15, 1,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CSINV), 0|OPFL_GlueInput,
                  MVT::i32, 3, 3, 4, 5, 
   0, 
  24, 
   OPC_RecordChild0,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 4,
   OPC_CheckComplexPat, /*CP*/3, /*#*/1,
   OPC_CheckComplexPat, /*CP*/4, /*#*/2,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::MOVCCsi), 0|OPFL_GlueInput,
                 MVT::i32, 5, 0, 3, 4, 5, 6, 
  26, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 2, 
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 15,
   OPC_CheckComplexPat, /*CP*/4, /*#*/2,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CSINC), 0|OPFL_GlueInput,
                 MVT::i32, 3, 1, 0, 3, 
  29, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 2, 
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 15,
   OPC_CheckComplexPat, /*CP*/4, /*#*/2,
   OPC_EmitNodeXForm, 15, 3,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CSINC), 0|OPFL_GlueInput,
                 MVT::i32, 3, 0, 1, 5, 
  26, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 3, 
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 15,
   OPC_CheckComplexPat, /*CP*/4, /*#*/2,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CSINV), 0|OPFL_GlueInput,
                 MVT::i32, 3, 1, 0, 3, 
  29, 
   OPC_RecordChild0,
   OPC_MoveChild1,
   OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
   OPC_RecordChild0,
   OPC_CheckChild1Integer, 3, 
   OPC_MoveParent,
   OPC_RecordChild2,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 15,
   OPC_CheckComplexPat, /*CP*/4, /*#*/2,
   OPC_EmitNodeXForm, 15, 3,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CSINV), 0|OPFL_GlueInput,
                 MVT::i32, 3, 0, 1, 5, 
  26, 
   OPC_MoveChild0,
   OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
   OPC_CheckChild0Integer, 0, 
   OPC_RecordChild1,
   OPC_MoveParent,
   OPC_RecordChild1,
   OPC_RecordChild2,
   OPC_CheckType, MVT::i32,
   OPC_CheckPatternPredicate, 15,
   OPC_CheckComplexPat, /*CP*/4, /*#*/2,
   OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CSNEG), 0|OPFL_GlueInput,
                 MVT::i32, 3, 1, 0, 3, 
  52|128,5, 
   OPC_RecordChild0,
   OPC_Scope, 52|128,1, 
    OPC_MoveChild1,
    OPC_SwitchOpcode , 24, TARGET_VAL(ISD::SUB),
     OPC_CheckChild0Integer, 0, 
     OPC_RecordChild1,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 15,
     OPC_CheckComplexPat, /*CP*/4, /*#*/2,
     OPC_EmitNodeXForm, 15, 3,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CSNEG), 0|OPFL_GlueInput,
                   MVT::i32, 3, 0, 1, 5, 
    33, TARGET_VAL(ISD::SHL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 32,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 1,
     OPC_CheckComplexPat, /*CP*/4, /*#*/3,
     OPC_EmitConvertToTarget, 2,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2MOVCClsl), 0|OPFL_GlueInput,
                   MVT::i32, 5, 0, 1, 6, 4, 5, 
    36, TARGET_VAL(ISD::SRL),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 43,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 1,
     OPC_CheckComplexPat, /*CP*/4, /*#*/3,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitNodeXForm, 14, 6,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2MOVCClsr), 0|OPFL_GlueInput,
                   MVT::i32, 5, 0, 1, 7, 4, 5, 
    36, TARGET_VAL(ISD::SRA),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 43,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 1,
     OPC_CheckComplexPat, /*CP*/4, /*#*/3,
     OPC_EmitConvertToTarget, 2,
     OPC_EmitNodeXForm, 14, 6,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2MOVCCasr), 0|OPFL_GlueInput,
                   MVT::i32, 5, 0, 1, 7, 4, 5, 
    33, TARGET_VAL(ISD::ROTR),
     OPC_RecordChild0,
     OPC_RecordChild1,
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_CheckPredicate, 32,
     OPC_CheckType, MVT::i32,
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_RecordChild2,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 1,
     OPC_CheckComplexPat, /*CP*/4, /*#*/3,
     OPC_EmitConvertToTarget, 2,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2MOVCCror), 0|OPFL_GlueInput,
                   MVT::i32, 5, 0, 1, 6, 4, 5, 
    0,
   29, 
    OPC_MoveChild0,
    OPC_CheckPredicate, 23,
    OPC_MoveParent,
    OPC_CheckChild1Integer, 2, 
    OPC_RecordChild2,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 15,
    OPC_CheckComplexPat, /*CP*/4, /*#*/1,
    OPC_EmitRegister, MVT::i32, ARM::ZR,
    OPC_EmitNodeXForm, 15, 2,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2CSINC), 0|OPFL_GlueInput,
                  MVT::i32, 3, 0, 4, 5, 
   91|128,3, 
    OPC_RecordChild1,
    OPC_Scope, 71|128,1, 
     OPC_MoveChild1,
     OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
     OPC_Scope, 23, 
      OPC_CheckPredicate, 62,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 3,
      OPC_CheckComplexPat, /*CP*/4, /*#*/2,
      OPC_EmitConvertToTarget, 1,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MOVCCi16), 0|OPFL_GlueInput,
                    MVT::i32, 4, 0, 5, 3, 4, 
     23, 
      OPC_CheckPredicate, 11,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/4, /*#*/2,
      OPC_EmitConvertToTarget, 1,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MOVCCi), 0|OPFL_GlueInput,
                    MVT::i32, 4, 0, 5, 3, 4, 
     26, 
      OPC_CheckPredicate, 27,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/4, /*#*/2,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 9, 5,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVNCCi), 0|OPFL_GlueInput,
                    MVT::i32, 4, 0, 6, 3, 4, 
     23, 
      OPC_CheckPredicate, 6,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 1,
      OPC_CheckComplexPat, /*CP*/4, /*#*/2,
      OPC_EmitConvertToTarget, 1,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2MOVCCi), 0|OPFL_GlueInput,
                    MVT::i32, 4, 0, 5, 3, 4, 
     23, 
      OPC_CheckPredicate, 62,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 1,
      OPC_CheckComplexPat, /*CP*/4, /*#*/2,
      OPC_EmitConvertToTarget, 1,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2MOVCCi16), 0|OPFL_GlueInput,
                    MVT::i32, 4, 0, 5, 3, 4, 
     26, 
      OPC_CheckPredicate, 12,
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::i32,
      OPC_CheckPatternPredicate, 1,
      OPC_CheckComplexPat, /*CP*/4, /*#*/2,
      OPC_EmitConvertToTarget, 1,
      OPC_EmitNodeXForm, 1, 5,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2MVNCCi), 0|OPFL_GlueInput,
                    MVT::i32, 4, 0, 6, 3, 4, 
     42, 
      OPC_MoveParent,
      OPC_RecordChild2,
      OPC_CheckType, MVT::i32,
      OPC_Scope, 17, 
       OPC_CheckPatternPredicate, 3,
       OPC_CheckComplexPat, /*CP*/4, /*#*/2,
       OPC_EmitConvertToTarget, 1,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MOVCCi32imm), 0|OPFL_GlueInput,
                     MVT::i32, 4, 0, 5, 3, 4, 
      17, 
       OPC_CheckPatternPredicate, 1,
       OPC_CheckComplexPat, /*CP*/4, /*#*/2,
       OPC_EmitConvertToTarget, 1,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::t2MOVCCi32imm), 0|OPFL_GlueInput,
                     MVT::i32, 4, 0, 5, 3, 4, 
      0, 
     0, 
    51, 
     OPC_RecordChild2,
     OPC_CheckType, MVT::i32,
     OPC_Scope, 15, 
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/4, /*#*/2,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MOVCCr), 0|OPFL_GlueInput,
                    MVT::i32, 4, 0, 1, 3, 4, 
     15, 
      OPC_CheckPatternPredicate, 1,
      OPC_CheckComplexPat, /*CP*/4, /*#*/2,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2MOVCCr), 0|OPFL_GlueInput,
                    MVT::i32, 4, 0, 1, 3, 4, 
     13, 
      OPC_CheckComplexPat, /*CP*/4, /*#*/2,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tMOVCCr_pseudo), 0|OPFL_GlueInput,
                    MVT::i32, 4, 0, 1, 3, 4, 
     0, 
    40, 
     OPC_CheckChild2Integer, 24, 
     OPC_SwitchType , 10, MVT::f16,
      OPC_CheckPatternPredicate, 26,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VSELGTH), 0|OPFL_GlueInput,
                    MVT::f16, 2, 1, 0, 
     10, MVT::f32,
      OPC_CheckPatternPredicate, 27,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VSELGTS), 0|OPFL_GlueInput,
                    MVT::f32, 2, 1, 0, 
     10, MVT::f64,
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VSELGTD), 0|OPFL_GlueInput,
                    MVT::f64, 2, 1, 0, 
     0,
    40, 
     OPC_CheckChild2Integer, 20, 
     OPC_SwitchType , 10, MVT::f16,
      OPC_CheckPatternPredicate, 26,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VSELGEH), 0|OPFL_GlueInput,
                    MVT::f16, 2, 1, 0, 
     10, MVT::f32,
      OPC_CheckPatternPredicate, 27,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VSELGES), 0|OPFL_GlueInput,
                    MVT::f32, 2, 1, 0, 
     10, MVT::f64,
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VSELGED), 0|OPFL_GlueInput,
                    MVT::f64, 2, 1, 0, 
     0,
    40, 
     OPC_CheckChild2Integer, 0, 
     OPC_SwitchType , 10, MVT::f16,
      OPC_CheckPatternPredicate, 26,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VSELEQH), 0|OPFL_GlueInput,
                    MVT::f16, 2, 1, 0, 
     10, MVT::f32,
      OPC_CheckPatternPredicate, 27,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VSELEQS), 0|OPFL_GlueInput,
                    MVT::f32, 2, 1, 0, 
     10, MVT::f64,
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VSELEQD), 0|OPFL_GlueInput,
                    MVT::f64, 2, 1, 0, 
     0,
    40, 
     OPC_CheckChild2Integer, 12, 
     OPC_SwitchType , 10, MVT::f16,
      OPC_CheckPatternPredicate, 26,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VSELVSH), 0|OPFL_GlueInput,
                    MVT::f16, 2, 1, 0, 
     10, MVT::f32,
      OPC_CheckPatternPredicate, 27,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VSELVSS), 0|OPFL_GlueInput,
                    MVT::f32, 2, 1, 0, 
     10, MVT::f64,
      OPC_CheckPatternPredicate, 28,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VSELVSD), 0|OPFL_GlueInput,
                    MVT::f64, 2, 1, 0, 
     0,
    54, 
     OPC_RecordChild2,
     OPC_SwitchType , 15, MVT::f64,
      OPC_CheckPatternPredicate, 67,
      OPC_CheckComplexPat, /*CP*/4, /*#*/2,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VMOVDcc), 0|OPFL_GlueInput,
                    MVT::f64, 4, 0, 1, 3, 4, 
     15, MVT::f32,
      OPC_CheckPatternPredicate, 47,
      OPC_CheckComplexPat, /*CP*/4, /*#*/2,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VMOVScc), 0|OPFL_GlueInput,
                    MVT::f32, 4, 0, 1, 3, 4, 
     15, MVT::f16,
      OPC_CheckPatternPredicate, 47,
      OPC_CheckComplexPat, /*CP*/4, /*#*/2,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VMOVHcc), 0|OPFL_GlueInput,
                    MVT::f16, 4, 0, 1, 3, 4, 
     0,
    0, 
   0, 
  0, 
 83|128,63, TARGET_VAL(ISD::LOAD),
  OPC_RecordMemRef,
  OPC_RecordNode,
  OPC_Scope, 67|128,1, 
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::i32,
   OPC_CheckPredicate, 40,
   OPC_CheckType, MVT::i32,
   OPC_Scope, 24, 
    OPC_CheckPredicate, 64,
    OPC_CheckPatternPredicate, 4,
    OPC_CheckComplexPat, /*CP*/16, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::PICLDR), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 4, 2, 3, 4, 5, 
   54, 
    OPC_CheckPredicate, 65,
    OPC_Scope, 24, 
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/16, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::PICLDRH), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5, 
    24, 
     OPC_CheckPredicate, 48,
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/16, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::PICLDRB), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5, 
    0, 
   105, 
    OPC_CheckPredicate, 66,
    OPC_Scope, 24, 
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/16, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::PICLDRSH), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5, 
    50, 
     OPC_CheckPredicate, 48,
     OPC_Scope, 22, 
      OPC_CheckPatternPredicate, 4,
      OPC_CheckComplexPat, /*CP*/16, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::PICLDRSB), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     22, 
      OPC_CheckPatternPredicate, 6,
      OPC_CheckComplexPat, /*CP*/40, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRSB), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     0, 
    24, 
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate, 6,
     OPC_CheckComplexPat, /*CP*/40, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRSH), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5, 
    0, 
   0, 
  100, 
   OPC_MoveChild1,
   OPC_SwitchOpcode , 60, TARGET_VAL(ARMISD::WrapperPIC),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_SwitchOpcode , 32, TARGET_VAL(ISD::TargetGlobalAddress),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 40,
     OPC_CheckPredicate, 64,
     OPC_CheckType, MVT::i32,
     OPC_Scope, 10, 
      OPC_CheckPatternPredicate, 68,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRLIT_ga_pcrel_ldr), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 1, 
     10, 
      OPC_CheckPatternPredicate, 69,
      OPC_EmitMergeInputChains1_0,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MOV_ga_pcrel_ldr), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 1, 1, 
     0, 
    18, TARGET_VAL(ISD::TargetGlobalTLSAddress),
     OPC_MoveParent,
     OPC_MoveParent,
     OPC_CheckPredicate, 40,
     OPC_CheckPredicate, 64,
     OPC_CheckType, MVT::i32,
     OPC_CheckPatternPredicate, 69,
     OPC_EmitMergeInputChains1_0,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MOV_ga_pcrel_ldr), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 1, 1, 
    0,
   31, TARGET_VAL(ARMISD::Wrapper),
    OPC_RecordChild0,
    OPC_MoveChild0,
    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstantPool),
    OPC_MoveParent,
    OPC_MoveParent,
    OPC_CheckPredicate, 40,
    OPC_CheckPredicate, 64,
    OPC_CheckType, MVT::i32,
    OPC_CheckPatternPredicate, 6,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRpci), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 3, 1, 2, 3, 
   0,
  80|128,15, 
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::i32,
   OPC_CheckPredicate, 40,
   OPC_CheckType, MVT::i32,
   OPC_Scope, 25, 
    OPC_CheckPredicate, 64,
    OPC_CheckPatternPredicate, 4,
    OPC_CheckComplexPat, /*CP*/20, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRrs), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 5, 2, 3, 4, 5, 6, 
   56, 
    OPC_CheckPredicate, 65,
    OPC_Scope, 25, 
     OPC_CheckPredicate, 48,
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/20, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRBrs), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 5, 2, 3, 4, 5, 6, 
    25, 
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRH), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 5, 2, 3, 4, 5, 6, 
    0, 
   56, 
    OPC_CheckPredicate, 66,
    OPC_Scope, 25, 
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRSH), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 5, 2, 3, 4, 5, 6, 
    25, 
     OPC_CheckPredicate, 48,
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRSB), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 5, 2, 3, 4, 5, 6, 
    0, 
   27, 
    OPC_CheckPredicate, 65,
    OPC_CheckPredicate, 67,
    OPC_CheckPatternPredicate, 4,
    OPC_CheckComplexPat, /*CP*/20, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRBrs), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 5, 2, 3, 4, 5, 6, 
   82, 
    OPC_CheckPredicate, 41,
    OPC_Scope, 25, 
     OPC_CheckPredicate, 67,
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/20, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRBrs), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 5, 2, 3, 4, 5, 6, 
    25, 
     OPC_CheckPredicate, 48,
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/20, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRBrs), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 5, 2, 3, 4, 5, 6, 
    25, 
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRH), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 5, 2, 3, 4, 5, 6, 
    0, 
   25, 
    OPC_CheckPredicate, 64,
    OPC_CheckPatternPredicate, 1,
    OPC_CheckComplexPat, /*CP*/21, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRs), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 5, 2, 3, 4, 5, 6, 
   56, 
    OPC_CheckPredicate, 65,
    OPC_Scope, 25, 
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate, 1,
     OPC_CheckComplexPat, /*CP*/21, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRHs), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 5, 2, 3, 4, 5, 6, 
    25, 
     OPC_CheckPredicate, 48,
     OPC_CheckPatternPredicate, 1,
     OPC_CheckComplexPat, /*CP*/21, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBs), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 5, 2, 3, 4, 5, 6, 
    0, 
   56, 
    OPC_CheckPredicate, 66,
    OPC_Scope, 25, 
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate, 1,
     OPC_CheckComplexPat, /*CP*/21, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRSHs), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 5, 2, 3, 4, 5, 6, 
    25, 
     OPC_CheckPredicate, 48,
     OPC_CheckPatternPredicate, 1,
     OPC_CheckComplexPat, /*CP*/21, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRSBs), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 5, 2, 3, 4, 5, 6, 
    0, 
   27, 
    OPC_CheckPredicate, 65,
    OPC_CheckPredicate, 67,
    OPC_CheckPatternPredicate, 1,
    OPC_CheckComplexPat, /*CP*/21, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBs), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 5, 2, 3, 4, 5, 6, 
   82, 
    OPC_CheckPredicate, 41,
    OPC_Scope, 25, 
     OPC_CheckPredicate, 67,
     OPC_CheckPatternPredicate, 1,
     OPC_CheckComplexPat, /*CP*/21, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBs), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 5, 2, 3, 4, 5, 6, 
    25, 
     OPC_CheckPredicate, 48,
     OPC_CheckPatternPredicate, 1,
     OPC_CheckComplexPat, /*CP*/21, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBs), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 5, 2, 3, 4, 5, 6, 
    25, 
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate, 1,
     OPC_CheckComplexPat, /*CP*/21, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRHs), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 5, 2, 3, 4, 5, 6, 
    0, 
   92, 
    OPC_CheckPredicate, 66,
    OPC_Scope, 43, 
     OPC_CheckPredicate, 48,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegister, MVT::i32, ARM::CPSR,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::tMOVi8), 0,
                   MVT::i32, 4, 2, 3, 4, 5, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRSB), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 1, 6, 7, 8, 
    43, 
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate, 17,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitRegister, MVT::i32, ARM::CPSR,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::tMOVi8), 0,
                   MVT::i32, 4, 2, 3, 4, 5, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRSH), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 1, 6, 7, 8, 
    0, 
   24, 
    OPC_CheckPredicate, 64,
    OPC_CheckPatternPredicate, 4,
    OPC_CheckComplexPat, /*CP*/24, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRi12), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 4, 2, 3, 4, 5, 
   54, 
    OPC_CheckPredicate, 65,
    OPC_Scope, 24, 
     OPC_CheckPredicate, 48,
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/24, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5, 
    24, 
     OPC_CheckPredicate, 67,
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/24, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5, 
    0, 
   103, 
    OPC_CheckPredicate, 41,
    OPC_Scope, 24, 
     OPC_CheckPredicate, 67,
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/24, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5, 
    48, 
     OPC_CheckPredicate, 48,
     OPC_CheckPatternPredicate, 4,
     OPC_Scope, 20, 
      OPC_CheckComplexPat, /*CP*/24, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::LDRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     20, 
      OPC_CheckComplexPat, /*CP*/16, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::PICLDRB), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     0, 
    24, 
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate, 4,
     OPC_CheckComplexPat, /*CP*/16, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::PICLDRH), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5, 
    0, 
   69, 
    OPC_CheckPredicate, 64,
    OPC_CheckPatternPredicate, 6,
    OPC_Scope, 20, 
     OPC_CheckComplexPat, /*CP*/25, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRspi), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5, 
    20, 
     OPC_CheckComplexPat, /*CP*/26, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRi), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5, 
    20, 
     OPC_CheckComplexPat, /*CP*/10, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRr), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5, 
    0, 
   23|128,1, 
    OPC_CheckPredicate, 65,
    OPC_Scope, 48, 
     OPC_CheckPredicate, 48,
     OPC_CheckPatternPredicate, 6,
     OPC_Scope, 20, 
      OPC_CheckComplexPat, /*CP*/27, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRBi), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     20, 
      OPC_CheckComplexPat, /*CP*/10, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRBr), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     0, 
    48, 
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate, 6,
     OPC_Scope, 20, 
      OPC_CheckComplexPat, /*CP*/9, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRHi), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     20, 
      OPC_CheckComplexPat, /*CP*/10, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRHr), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     0, 
    48, 
     OPC_CheckPredicate, 67,
     OPC_CheckPatternPredicate, 6,
     OPC_Scope, 20, 
      OPC_CheckComplexPat, /*CP*/27, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRBi), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     20, 
      OPC_CheckComplexPat, /*CP*/10, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRBr), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     0, 
    0, 
   98|128,1, 
    OPC_CheckPredicate, 41,
    OPC_Scope, 24, 
     OPC_CheckPredicate, 67,
     OPC_CheckPatternPredicate, 70,
     OPC_CheckComplexPat, /*CP*/25, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRspi), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5, 
    24, 
     OPC_CheckPredicate, 48,
     OPC_CheckPatternPredicate, 70,
     OPC_CheckComplexPat, /*CP*/25, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRspi), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5, 
    24, 
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate, 70,
     OPC_CheckComplexPat, /*CP*/25, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRspi), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5, 
    48, 
     OPC_CheckPredicate, 67,
     OPC_CheckPatternPredicate, 6,
     OPC_Scope, 20, 
      OPC_CheckComplexPat, /*CP*/27, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRBi), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     20, 
      OPC_CheckComplexPat, /*CP*/10, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRBr), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     0, 
    48, 
     OPC_CheckPredicate, 48,
     OPC_CheckPatternPredicate, 6,
     OPC_Scope, 20, 
      OPC_CheckComplexPat, /*CP*/27, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRBi), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     20, 
      OPC_CheckComplexPat, /*CP*/10, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRBr), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     0, 
    48, 
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate, 6,
     OPC_Scope, 20, 
      OPC_CheckComplexPat, /*CP*/9, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRHi), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     20, 
      OPC_CheckComplexPat, /*CP*/10, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::tLDRHr), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     0, 
    0, 
   48, 
    OPC_CheckPredicate, 64,
    OPC_CheckPatternPredicate, 1,
    OPC_Scope, 20, 
     OPC_CheckComplexPat, /*CP*/28, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRi12), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5, 
    20, 
     OPC_CheckComplexPat, /*CP*/29, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRi8), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5, 
    0, 
   102, 
    OPC_CheckPredicate, 65,
    OPC_Scope, 48, 
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate, 1,
     OPC_Scope, 20, 
      OPC_CheckComplexPat, /*CP*/28, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRHi12), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     20, 
      OPC_CheckComplexPat, /*CP*/29, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRHi8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     0, 
    48, 
     OPC_CheckPredicate, 48,
     OPC_CheckPatternPredicate, 1,
     OPC_Scope, 20, 
      OPC_CheckComplexPat, /*CP*/28, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     20, 
      OPC_CheckComplexPat, /*CP*/29, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBi8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     0, 
    0, 
   102, 
    OPC_CheckPredicate, 66,
    OPC_Scope, 48, 
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate, 1,
     OPC_Scope, 20, 
      OPC_CheckComplexPat, /*CP*/28, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRSHi12), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     20, 
      OPC_CheckComplexPat, /*CP*/29, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRSHi8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     0, 
    48, 
     OPC_CheckPredicate, 48,
     OPC_CheckPatternPredicate, 1,
     OPC_Scope, 20, 
      OPC_CheckComplexPat, /*CP*/28, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRSBi12), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     20, 
      OPC_CheckComplexPat, /*CP*/29, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRSBi8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     0, 
    0, 
   50, 
    OPC_CheckPredicate, 65,
    OPC_CheckPredicate, 67,
    OPC_CheckPatternPredicate, 1,
    OPC_Scope, 20, 
     OPC_CheckComplexPat, /*CP*/28, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5, 
    20, 
     OPC_CheckComplexPat, /*CP*/29, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBi8), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5, 
    0, 
   23|128,1, 
    OPC_CheckPredicate, 41,
    OPC_Scope, 48, 
     OPC_CheckPredicate, 67,
     OPC_CheckPatternPredicate, 1,
     OPC_Scope, 20, 
      OPC_CheckComplexPat, /*CP*/28, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     20, 
      OPC_CheckComplexPat, /*CP*/29, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBi8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     0, 
    48, 
     OPC_CheckPredicate, 48,
     OPC_CheckPatternPredicate, 1,
     OPC_Scope, 20, 
      OPC_CheckComplexPat, /*CP*/28, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBi12), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     20, 
      OPC_CheckComplexPat, /*CP*/29, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBi8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     0, 
    48, 
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate, 1,
     OPC_Scope, 20, 
      OPC_CheckComplexPat, /*CP*/28, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRHi12), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     20, 
      OPC_CheckComplexPat, /*CP*/29, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRHi8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 4, 5, 
     0, 
    0, 
   44|128,2, 
    OPC_CheckPredicate, 66,
    OPC_Scope, 18|128,1, 
     OPC_CheckPredicate, 48,
     OPC_CheckPatternPredicate, 6,
     OPC_Scope, 69, 
      OPC_CheckComplexPat, /*CP*/27, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitRegister, MVT::i32, ARM::CPSR,
      OPC_EmitRegister, MVT::i32, ARM::CPSR,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(ARM::tLDRBi), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 6, 7, 
      OPC_EmitInteger, MVT::i32, 48, 
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(ARM::tLSLri), 0,
                    MVT::i32, 5, 5, 8, 9, 10, 11, 
      OPC_EmitInteger, MVT::i32, 48, 
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(ARM::tASRri), 0,
                    MVT::i32, 5, 4, 12, 13, 14, 15, 
      OPC_CompleteMatch, 1, 16, 

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

     0, 
    18|128,1, 
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate, 6,
     OPC_Scope, 69, 
      OPC_CheckComplexPat, /*CP*/9, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitRegister, MVT::i32, ARM::CPSR,
      OPC_EmitRegister, MVT::i32, ARM::CPSR,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(ARM::tLDRHi), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::i32, 4, 2, 3, 6, 7, 
      OPC_EmitInteger, MVT::i32, 32, 
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(ARM::tLSLri), 0,
                    MVT::i32, 5, 5, 8, 9, 10, 11, 
      OPC_EmitInteger, MVT::i32, 32, 
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(ARM::tASRri), 0,
                    MVT::i32, 5, 4, 12, 13, 14, 15, 
      OPC_CompleteMatch, 1, 16, 

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

     0, 
    0, 
   0, 
  95|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, 40,
   OPC_CheckType, MVT::i32,
   OPC_Scope, 20, 
    OPC_CheckPredicate, 64,
    OPC_CheckPatternPredicate, 1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRpci), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 3, 1, 2, 3, 
   46, 
    OPC_CheckPredicate, 65,
    OPC_Scope, 20, 
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate, 1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRHpci), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 3, 1, 2, 3, 
    20, 
     OPC_CheckPredicate, 48,
     OPC_CheckPatternPredicate, 1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBpci), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 3, 1, 2, 3, 
    0, 
   46, 
    OPC_CheckPredicate, 66,
    OPC_Scope, 20, 
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate, 1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRSHpci), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 3, 1, 2, 3, 
    20, 
     OPC_CheckPredicate, 48,
     OPC_CheckPatternPredicate, 1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRSBpci), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 3, 1, 2, 3, 
    0, 
   22, 
    OPC_CheckPredicate, 65,
    OPC_CheckPredicate, 67,
    OPC_CheckPatternPredicate, 1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBpci), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i32, 3, 1, 2, 3, 
   67, 
    OPC_CheckPredicate, 41,
    OPC_Scope, 20, 
     OPC_CheckPredicate, 67,
     OPC_CheckPatternPredicate, 1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBpci), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 3, 1, 2, 3, 
    20, 
     OPC_CheckPredicate, 48,
     OPC_CheckPatternPredicate, 1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRBpci), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 3, 1, 2, 3, 
    20, 
     OPC_CheckPredicate, 42,
     OPC_CheckPatternPredicate, 1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::t2LDRHpci), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 3, 1, 2, 3, 
    0, 
   0, 
  112|128,43, 
   OPC_RecordChild1,
   OPC_CheckChild1Type, MVT::i32,
   OPC_CheckPredicate, 40,
   OPC_Scope, 12|128,2, 
    OPC_CheckPredicate, 64,
    OPC_Scope, 38, 
     OPC_CheckPredicate, 68,
     OPC_CheckType, MVT::bf16,
     OPC_CheckPatternPredicate, 45,
     OPC_CheckComplexPat, /*CP*/8, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::LDRH), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 5, 2, 3, 4, 5, 6, 
     OPC_EmitStringInteger, MVT::i32, ARM::HPRRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                   MVT::bf16, 2, 7, 8, 
    52, 
     OPC_CheckPredicate, 69,
     OPC_SwitchType , 22, MVT::f64,
      OPC_CheckPatternPredicate, 47,
      OPC_CheckComplexPat, /*CP*/23, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VLDRD), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f64, 4, 2, 3, 4, 5, 
     22, MVT::f32,
      OPC_CheckPatternPredicate, 47,
      OPC_CheckComplexPat, /*CP*/23, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VLDRS), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f32, 4, 2, 3, 4, 5, 
     0,
    52, 
     OPC_CheckPredicate, 68,
     OPC_SwitchType , 22, MVT::f16,
      OPC_CheckPatternPredicate, 50,
      OPC_CheckComplexPat, /*CP*/30, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VLDRH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::f16, 4, 2, 3, 4, 5, 
     22, MVT::bf16,
      OPC_CheckPatternPredicate, 50,
      OPC_CheckComplexPat, /*CP*/30, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VLDRH), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::bf16, 4, 2, 3, 4, 5, 
     0,
    26, 
     OPC_CheckPredicate, 70,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 48,
     OPC_CheckComplexPat, /*CP*/13, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1d16), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 4, 2, 3, 4, 5, 
    26, 
     OPC_CheckPredicate, 71,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 48,
     OPC_CheckComplexPat, /*CP*/13, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1d8), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 4, 2, 3, 4, 5, 
    26, 
     OPC_CheckPredicate, 72,
     OPC_CheckType, MVT::f64,
     OPC_CheckPatternPredicate, 49,
     OPC_CheckComplexPat, /*CP*/13, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1d64), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::f64, 4, 2, 3, 4, 5, 
    37, 
     OPC_CheckPredicate, 68,
     OPC_CheckType, MVT::bf16,
     OPC_CheckPatternPredicate, 51,
     OPC_CheckComplexPat, /*CP*/28, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::t2LDRHi12), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::i32, 4, 2, 3, 4, 5, 
     OPC_EmitStringInteger, MVT::i32, ARM::HPRRegClassID,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0|OPFL_Chain,
                   MVT::bf16, 2, 6, 7, 
    0, 
   46, 
    OPC_CheckPredicate, 41,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1d8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 4, 2, 3, 4, 5, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv8i16), 0,
                  MVT::v8i16, 3, 6, 7, 8, 
    OPC_CompleteMatch, 1, 9, 

   46, 
    OPC_CheckPredicate, 65,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1d8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 4, 2, 3, 4, 5, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv8i16), 0,
                  MVT::v8i16, 3, 6, 7, 8, 
    OPC_CompleteMatch, 1, 9, 

   46, 
    OPC_CheckPredicate, 66,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1d8), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 4, 2, 3, 4, 5, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLsv8i16), 0,
                  MVT::v8i16, 3, 6, 7, 8, 
    OPC_CompleteMatch, 1, 9, 

   46, 
    OPC_CheckPredicate, 41,
    OPC_CheckPredicate, 74,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1d16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 4, 2, 3, 4, 5, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv4i32), 0,
                  MVT::v4i32, 3, 6, 7, 8, 
    OPC_CompleteMatch, 1, 9, 

   46, 
    OPC_CheckPredicate, 65,
    OPC_CheckPredicate, 74,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1d16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 4, 2, 3, 4, 5, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv4i32), 0,
                  MVT::v4i32, 3, 6, 7, 8, 
    OPC_CompleteMatch, 1, 9, 

   46, 
    OPC_CheckPredicate, 66,
    OPC_CheckPredicate, 74,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1d16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 4, 2, 3, 4, 5, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLsv4i32), 0,
                  MVT::v4i32, 3, 6, 7, 8, 
    OPC_CompleteMatch, 1, 9, 

   46, 
    OPC_CheckPredicate, 41,
    OPC_CheckPredicate, 75,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 7,
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1d32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 4, 2, 3, 4, 5, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv2i64), 0,
                  MVT::v2i64, 3, 6, 7, 8, 
    OPC_CompleteMatch, 1, 9, 

   46, 
    OPC_CheckPredicate, 65,
    OPC_CheckPredicate, 75,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 7,
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1d32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 4, 2, 3, 4, 5, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv2i64), 0,
                  MVT::v2i64, 3, 6, 7, 8, 
    OPC_CompleteMatch, 1, 9, 

   46, 
    OPC_CheckPredicate, 66,
    OPC_CheckPredicate, 75,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 7,
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1d32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 4, 2, 3, 4, 5, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLsv2i64), 0,
                  MVT::v2i64, 3, 6, 7, 8, 
    OPC_CompleteMatch, 1, 9, 

   62|128,3, 
    OPC_CheckPredicate, 64,
    OPC_Scope, 116, 
     OPC_CheckPredicate, 71,
     OPC_SwitchType , 26, MVT::v16i8,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/31, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v16i8, 5, 2, 3, 4, 5, 6, 
     26, MVT::v8i16,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/31, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v8i16, 5, 2, 3, 4, 5, 6, 
     26, MVT::v4i32,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/31, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 5, 2, 3, 4, 5, 6, 
     26, MVT::v2i64,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/31, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v2i64, 5, 2, 3, 4, 5, 6, 
     0,
    116, 
     OPC_CheckPredicate, 70,
     OPC_SwitchType , 26, MVT::v16i8,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/32, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v16i8, 5, 2, 3, 4, 5, 6, 
     26, MVT::v8i16,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/32, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v8i16, 5, 2, 3, 4, 5, 6, 
     26, MVT::v4i32,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/32, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 5, 2, 3, 4, 5, 6, 
     26, MVT::v2i64,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/32, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v2i64, 5, 2, 3, 4, 5, 6, 
     0,
    116, 
     OPC_CheckPredicate, 69,
     OPC_SwitchType , 26, MVT::v16i8,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/33, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v16i8, 5, 2, 3, 4, 5, 6, 
     26, MVT::v8i16,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/33, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v8i16, 5, 2, 3, 4, 5, 6, 
     26, MVT::v4i32,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/33, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4i32, 5, 2, 3, 4, 5, 6, 
     26, MVT::v2i64,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/33, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v2i64, 5, 2, 3, 4, 5, 6, 
     0,
    28, 
     OPC_CheckType, MVT::v16i8,
     OPC_CheckPatternPredicate, 53,
     OPC_CheckComplexPat, /*CP*/31, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v16i8, 5, 2, 3, 4, 5, 6, 
    30, 
     OPC_CheckType, MVT::v8i16,
     OPC_CheckPredicate, 68,
     OPC_CheckPatternPredicate, 53,
     OPC_CheckComplexPat, /*CP*/32, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v8i16, 5, 2, 3, 4, 5, 6, 
    30, 
     OPC_CheckType, MVT::v4i32,
     OPC_CheckPredicate, 69,
     OPC_CheckPatternPredicate, 53,
     OPC_CheckComplexPat, /*CP*/33, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v4i32, 5, 2, 3, 4, 5, 6, 
    0, 
   32, 
    OPC_CheckPredicate, 41,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/37, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::v8i16, 5, 2, 3, 4, 5, 6, 
   32, 
    OPC_CheckPredicate, 66,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/37, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBS16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::v8i16, 5, 2, 3, 4, 5, 6, 
   32, 
    OPC_CheckPredicate, 65,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v8i16,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/37, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::v8i16, 5, 2, 3, 4, 5, 6, 
   32, 
    OPC_CheckPredicate, 41,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/37, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::v4i32, 5, 2, 3, 4, 5, 6, 
   32, 
    OPC_CheckPredicate, 66,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/37, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBS32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::v4i32, 5, 2, 3, 4, 5, 6, 
   32, 
    OPC_CheckPredicate, 65,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/37, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::v4i32, 5, 2, 3, 4, 5, 6, 
   32, 
    OPC_CheckPredicate, 41,
    OPC_CheckPredicate, 74,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/38, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::v4i32, 5, 2, 3, 4, 5, 6, 
   32, 
    OPC_CheckPredicate, 66,
    OPC_CheckPredicate, 74,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/38, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHS32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::v4i32, 5, 2, 3, 4, 5, 6, 
   32, 
    OPC_CheckPredicate, 65,
    OPC_CheckPredicate, 74,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 8,
    OPC_CheckComplexPat, /*CP*/38, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::v4i32, 5, 2, 3, 4, 5, 6, 
   38|128,1, 
    OPC_CheckPredicate, 64,
    OPC_SwitchType , 52, MVT::v2i64,
     OPC_CheckPatternPredicate, 53,
     OPC_CheckComplexPat, /*CP*/31, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v16i8, 5, 2, 3, 4, 5, 6, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_8), 0|OPFL_Chain,
                   MVT::v2i64, 5, 7, 8, 9, 10, 11, 
    52, MVT::v4i32,
     OPC_CheckPatternPredicate, 53,
     OPC_CheckComplexPat, /*CP*/31, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v16i8, 5, 2, 3, 4, 5, 6, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV32_8), 0|OPFL_Chain,
                   MVT::v4i32, 5, 7, 8, 9, 10, 11, 
    52, MVT::v8i16,
     OPC_CheckPatternPredicate, 53,
     OPC_CheckComplexPat, /*CP*/31, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v16i8, 5, 2, 3, 4, 5, 6, 
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                   MVT::v4i32, 0, 
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV16_8), 0|OPFL_Chain,
                   MVT::v8i16, 5, 7, 8, 9, 10, 11, 
    0,
   65, 
    OPC_CheckPredicate, 41,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate, 48,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv8i16), 0,
                  MVT::v16i8, 3, 8, 9, 10, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::v4i16, 2, 11, 12, 
   65, 
    OPC_CheckPredicate, 65,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate, 48,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv8i16), 0,
                  MVT::v16i8, 3, 8, 9, 10, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::v4i16, 2, 11, 12, 
   65, 
    OPC_CheckPredicate, 66,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate, 48,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLsv8i16), 0,
                  MVT::v16i8, 3, 8, 9, 10, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::v4i16, 2, 11, 12, 
   65, 
    OPC_CheckPredicate, 41,
    OPC_CheckPredicate, 74,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 48,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv4i32), 0,
                  MVT::v16i8, 3, 8, 9, 10, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::v2i32, 2, 11, 12, 
   65, 
    OPC_CheckPredicate, 65,
    OPC_CheckPredicate, 74,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 48,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv4i32), 0,
                  MVT::v16i8, 3, 8, 9, 10, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::v2i32, 2, 11, 12, 
   65, 
    OPC_CheckPredicate, 66,
    OPC_CheckPredicate, 74,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 48,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLsv4i32), 0,
                  MVT::v16i8, 3, 8, 9, 10, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::v2i32, 2, 11, 12, 
   83, 
    OPC_CheckPredicate, 41,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 48,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv8i16), 0,
                  MVT::v16i8, 3, 8, 9, 10, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 11, 12, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv4i32), 0,
                  MVT::v4i32, 3, 13, 14, 15, 
    OPC_CompleteMatch, 1, 16, 

   83, 
    OPC_CheckPredicate, 65,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 48,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv8i16), 0,
                  MVT::v16i8, 3, 8, 9, 10, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 11, 12, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv4i32), 0,
                  MVT::v4i32, 3, 13, 14, 15, 
    OPC_CompleteMatch, 1, 16, 

   83, 
    OPC_CheckPredicate, 66,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 48,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLsv8i16), 0,
                  MVT::v16i8, 3, 8, 9, 10, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 11, 12, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLsv4i32), 0,
                  MVT::v4i32, 3, 13, 14, 15, 
    OPC_CompleteMatch, 1, 16, 

   83, 
    OPC_CheckPredicate, 41,
    OPC_CheckPredicate, 74,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 48,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv4i32), 0,
                  MVT::v16i8, 3, 8, 9, 10, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 11, 12, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv2i64), 0,
                  MVT::v2i64, 3, 13, 14, 15, 
    OPC_CompleteMatch, 1, 16, 

   83, 
    OPC_CheckPredicate, 65,
    OPC_CheckPredicate, 74,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 48,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv4i32), 0,
                  MVT::v16i8, 3, 8, 9, 10, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 11, 12, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv2i64), 0,
                  MVT::v2i64, 3, 13, 14, 15, 
    OPC_CompleteMatch, 1, 16, 

   83, 
    OPC_CheckPredicate, 66,
    OPC_CheckPredicate, 74,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 48,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLsv4i32), 0,
                  MVT::v16i8, 3, 8, 9, 10, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 11, 12, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLsv2i64), 0,
                  MVT::v2i64, 3, 13, 14, 15, 
    OPC_CompleteMatch, 1, 16, 

   80, 
    OPC_CheckPredicate, 41,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VREV32d8), 0,
                  MVT::f64, 3, 8, 9, 10, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv8i16), 0,
                  MVT::v16i8, 3, 11, 12, 13, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::v4i16, 2, 14, 15, 
   80, 
    OPC_CheckPredicate, 65,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VREV32d8), 0,
                  MVT::f64, 3, 8, 9, 10, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv8i16), 0,
                  MVT::v16i8, 3, 11, 12, 13, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::v4i16, 2, 14, 15, 
   80, 
    OPC_CheckPredicate, 66,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v4i16,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VREV32d8), 0,
                  MVT::f64, 3, 8, 9, 10, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLsv8i16), 0,
                  MVT::v16i8, 3, 11, 12, 13, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::v4i16, 2, 14, 15, 
   80, 
    OPC_CheckPredicate, 41,
    OPC_CheckPredicate, 74,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VREV32d16), 0,
                  MVT::f64, 3, 8, 9, 10, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv4i32), 0,
                  MVT::v16i8, 3, 11, 12, 13, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::v2i32, 2, 14, 15, 
   80, 
    OPC_CheckPredicate, 65,
    OPC_CheckPredicate, 74,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VREV32d16), 0,
                  MVT::f64, 3, 8, 9, 10, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv4i32), 0,
                  MVT::v16i8, 3, 11, 12, 13, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::v2i32, 2, 14, 15, 
   80, 
    OPC_CheckPredicate, 66,
    OPC_CheckPredicate, 74,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VREV32d16), 0,
                  MVT::f64, 3, 8, 9, 10, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLsv4i32), 0,
                  MVT::v16i8, 3, 11, 12, 13, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::v2i32, 2, 14, 15, 
   91, 
    OPC_CheckPredicate, 41,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 48,
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv8i16), 0,
                  MVT::v16i8, 3, 8, 9, 10, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 11, 12, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv4i32), 0,
                  MVT::v16i8, 3, 13, 14, 15, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::v2i32, 2, 16, 17, 
   91, 
    OPC_CheckPredicate, 65,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 48,
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv8i16), 0,
                  MVT::v16i8, 3, 8, 9, 10, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 11, 12, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv4i32), 0,
                  MVT::v16i8, 3, 13, 14, 15, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::v2i32, 2, 16, 17, 
   91, 
    OPC_CheckPredicate, 66,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 48,
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLsv8i16), 0,
                  MVT::v16i8, 3, 8, 9, 10, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 11, 12, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLsv4i32), 0,
                  MVT::v16i8, 3, 13, 14, 15, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::v2i32, 2, 16, 17, 
   98, 
    OPC_CheckPredicate, 41,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VREV32d8), 0,
                  MVT::f64, 3, 8, 9, 10, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv8i16), 0,
                  MVT::v16i8, 3, 11, 12, 13, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 14, 15, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv4i32), 0,
                  MVT::v4i32, 3, 16, 17, 18, 
    OPC_CompleteMatch, 1, 19, 

   98, 
    OPC_CheckPredicate, 65,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VREV32d8), 0,
                  MVT::f64, 3, 8, 9, 10, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv8i16), 0,
                  MVT::v16i8, 3, 11, 12, 13, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 14, 15, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv4i32), 0,
                  MVT::v4i32, 3, 16, 17, 18, 
    OPC_CompleteMatch, 1, 19, 

   98, 
    OPC_CheckPredicate, 66,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v4i32,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VREV32d8), 0,
                  MVT::f64, 3, 8, 9, 10, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLsv8i16), 0,
                  MVT::v16i8, 3, 11, 12, 13, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 14, 15, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLsv4i32), 0,
                  MVT::v4i32, 3, 16, 17, 18, 
    OPC_CompleteMatch, 1, 19, 

   98, 
    OPC_CheckPredicate, 41,
    OPC_CheckPredicate, 74,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VREV32d16), 0,
                  MVT::f64, 3, 8, 9, 10, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv4i32), 0,
                  MVT::v16i8, 3, 11, 12, 13, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 14, 15, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv2i64), 0,
                  MVT::v2i64, 3, 16, 17, 18, 
    OPC_CompleteMatch, 1, 19, 

   98, 
    OPC_CheckPredicate, 65,
    OPC_CheckPredicate, 74,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VREV32d16), 0,
                  MVT::f64, 3, 8, 9, 10, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv4i32), 0,
                  MVT::v16i8, 3, 11, 12, 13, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 14, 15, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv2i64), 0,
                  MVT::v2i64, 3, 16, 17, 18, 
    OPC_CompleteMatch, 1, 19, 

   98, 
    OPC_CheckPredicate, 66,
    OPC_CheckPredicate, 74,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat, /*CP*/15, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd32), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VREV32d16), 0,
                  MVT::f64, 3, 8, 9, 10, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLsv4i32), 0,
                  MVT::v16i8, 3, 11, 12, 13, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 14, 15, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLsv2i64), 0,
                  MVT::v2i64, 3, 16, 17, 18, 
    OPC_CompleteMatch, 1, 19, 

   106, 
    OPC_CheckPredicate, 41,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VREV16d8), 0,
                  MVT::f64, 3, 8, 9, 10, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv8i16), 0,
                  MVT::v16i8, 3, 11, 12, 13, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 14, 15, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv4i32), 0,
                  MVT::v16i8, 3, 16, 17, 18, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::v2i32, 2, 19, 20, 
   106, 
    OPC_CheckPredicate, 65,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VREV16d8), 0,
                  MVT::f64, 3, 8, 9, 10, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv8i16), 0,
                  MVT::v16i8, 3, 11, 12, 13, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 14, 15, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv4i32), 0,
                  MVT::v16i8, 3, 16, 17, 18, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::v2i32, 2, 19, 20, 
   106, 
    OPC_CheckPredicate, 66,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v2i32,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VREV16d8), 0,
                  MVT::f64, 3, 8, 9, 10, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLsv8i16), 0,
                  MVT::v16i8, 3, 11, 12, 13, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 14, 15, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLsv4i32), 0,
                  MVT::v16i8, 3, 16, 17, 18, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                  MVT::v2i32, 2, 19, 20, 
   109, 
    OPC_CheckPredicate, 41,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 48,
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv8i16), 0,
                  MVT::v16i8, 3, 8, 9, 10, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 11, 12, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv4i32), 0,
                  MVT::v16i8, 3, 13, 14, 15, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 16, 17, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv2i64), 0,
                  MVT::v2i64, 3, 18, 19, 20, 
    OPC_CompleteMatch, 1, 21, 

   109, 
    OPC_CheckPredicate, 65,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 48,
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv8i16), 0,
                  MVT::v16i8, 3, 8, 9, 10, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 11, 12, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv4i32), 0,
                  MVT::v16i8, 3, 13, 14, 15, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 16, 17, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv2i64), 0,
                  MVT::v2i64, 3, 18, 19, 20, 
    OPC_CompleteMatch, 1, 21, 

   109, 
    OPC_CheckPredicate, 66,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 48,
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLsv8i16), 0,
                  MVT::v16i8, 3, 8, 9, 10, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 11, 12, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLsv4i32), 0,
                  MVT::v16i8, 3, 13, 14, 15, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 16, 17, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLsv2i64), 0,
                  MVT::v2i64, 3, 18, 19, 20, 
    OPC_CompleteMatch, 1, 21, 

   124, 
    OPC_CheckPredicate, 41,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VREV16d8), 0,
                  MVT::f64, 3, 8, 9, 10, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv8i16), 0,
                  MVT::v16i8, 3, 11, 12, 13, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 14, 15, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv4i32), 0,
                  MVT::v16i8, 3, 16, 17, 18, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 19, 20, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv2i64), 0,
                  MVT::v2i64, 3, 21, 22, 23, 
    OPC_CompleteMatch, 1, 24, 

   124, 
    OPC_CheckPredicate, 65,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VREV16d8), 0,
                  MVT::f64, 3, 8, 9, 10, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv8i16), 0,
                  MVT::v16i8, 3, 11, 12, 13, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 14, 15, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv4i32), 0,
                  MVT::v16i8, 3, 16, 17, 18, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 19, 20, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLuv2i64), 0,
                  MVT::v2i64, 3, 21, 22, 23, 
    OPC_CompleteMatch, 1, 24, 

   124, 
    OPC_CheckPredicate, 66,
    OPC_CheckPredicate, 73,
    OPC_CheckType, MVT::v2i64,
    OPC_CheckPatternPredicate, 49,
    OPC_CheckComplexPat, /*CP*/13, /*#*/1,
    OPC_EmitMergeInputChains1_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                  MVT::f64, 0, 
    OPC_EmitInteger, MVT::i32, 0, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VLD1LNd16), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::f64, 6, 2, 3, 4, 5, 6, 7, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VREV16d8), 0,
                  MVT::f64, 3, 8, 9, 10, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLsv8i16), 0,
                  MVT::v16i8, 3, 11, 12, 13, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 14, 15, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLsv4i32), 0,
                  MVT::v16i8, 3, 16, 17, 18, 
    OPC_EmitStringInteger, MVT::i32, ARM::dsub_0,
    OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                  MVT::f64, 2, 19, 20, 
    OPC_EmitInteger, MVT::i32, 28, 
    OPC_EmitRegister, MVT::i32, 0 ,
    OPC_EmitNode1, TARGET_VAL(ARM::VMOVLsv2i64), 0,
                  MVT::v2i64, 3, 21, 22, 23, 
    OPC_CompleteMatch, 1, 24, 

   79|128,5, 
    OPC_CheckPredicate, 64,
    OPC_Scope, 26, 
     OPC_CheckPredicate, 76,
     OPC_CheckType, MVT::v2f64,
     OPC_CheckPatternPredicate, 7,
     OPC_CheckComplexPat, /*CP*/13, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1q64), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v2f64, 4, 2, 3, 4, 5, 
    26, 
     OPC_CheckPredicate, 77,
     OPC_CheckType, MVT::v2f64,
     OPC_CheckPatternPredicate, 48,
     OPC_CheckComplexPat, /*CP*/13, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1q32), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v2f64, 4, 2, 3, 4, 5, 
    26, 
     OPC_CheckPredicate, 70,
     OPC_CheckType, MVT::v2f64,
     OPC_CheckPatternPredicate, 48,
     OPC_CheckComplexPat, /*CP*/13, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1q16), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v2f64, 4, 2, 3, 4, 5, 
    114, 
     OPC_CheckPredicate, 71,
     OPC_SwitchType , 52, MVT::v2f64,
      OPC_Scope, 22, 
       OPC_CheckPatternPredicate, 48,
       OPC_CheckComplexPat, /*CP*/13, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 28, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::VLD1q8), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v2f64, 4, 2, 3, 4, 5, 
      26, 
       OPC_CheckPatternPredicate, 52,
       OPC_CheckComplexPat, /*CP*/31, /*#*/1,
       OPC_EmitMergeInputChains1_0,
       OPC_EmitInteger, MVT::i32, 0, 
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_EmitRegister, MVT::i32, 0 ,
       OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                     MVT::v2f64, 5, 2, 3, 4, 5, 6, 
      0, 
     26, MVT::v8f16,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/31, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v8f16, 5, 2, 3, 4, 5, 6, 
     26, MVT::v4f32,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/31, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRBU8), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4f32, 5, 2, 3, 4, 5, 6, 
     0,
    88, 
     OPC_CheckPredicate, 70,
     OPC_SwitchType , 26, MVT::v8f16,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/32, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v8f16, 5, 2, 3, 4, 5, 6, 
     26, MVT::v4f32,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/32, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4f32, 5, 2, 3, 4, 5, 6, 
     26, MVT::v2f64,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/32, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v2f64, 5, 2, 3, 4, 5, 6, 
     0,
    88, 
     OPC_CheckPredicate, 69,
     OPC_SwitchType , 26, MVT::v8f16,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/33, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v8f16, 5, 2, 3, 4, 5, 6, 
     26, MVT::v4f32,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/33, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v4f32, 5, 2, 3, 4, 5, 6, 
     26, MVT::v2f64,
      OPC_CheckPatternPredicate, 52,
      OPC_CheckComplexPat, /*CP*/33, /*#*/1,
      OPC_EmitMergeInputChains1_0,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                    MVT::v2f64, 5, 2, 3, 4, 5, 6, 
     0,
    30, 
     OPC_CheckPredicate, 68,
     OPC_CheckType, MVT::v8f16,
     OPC_CheckPatternPredicate, 53,
     OPC_CheckComplexPat, /*CP*/32, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRHU16), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v8f16, 5, 2, 3, 4, 5, 6, 
    30, 
     OPC_CheckPredicate, 69,
     OPC_CheckType, MVT::v4f32,
     OPC_CheckPatternPredicate, 53,
     OPC_CheckComplexPat, /*CP*/33, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 0, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VLDRWU32), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v4f32, 5, 2, 3, 4, 5, 6, 
    44, 
     OPC_CheckPredicate, 71,
     OPC_CheckType, MVT::v2f64,
     OPC_CheckPatternPredicate, 49,
     OPC_CheckComplexPat, /*CP*/13, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::VLD1q8), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v16i8, 4, 2, 3, 4, 5, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::VREV64q8), 0,
                   MVT::v2f64, 3, 6, 7, 8, 
     OPC_CompleteMatch, 1, 9, 

    44, 
     OPC_CheckPredicate, 70,
     OPC_CheckType, MVT::v2f64,
     OPC_CheckPatternPredicate, 49,
     OPC_CheckComplexPat, /*CP*/13, /*#*/1,
     OPC_EmitMergeInputChains1_0,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::VLD1q16), 0|OPFL_Chain|OPFL_MemRefs,
                   MVT::v16i8, 4, 2, 3, 4, 5, 
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::VREV64q16), 0,
                   MVT::v2f64, 3, 6, 7, 8, 
     OPC_CompleteMatch, 1, 9, 

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

    26, MVT::v2i32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64d32), 0,
                    MVT::v2i32, 3, 0, 1, 2, 
     0, 
    26, MVT::v4i16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64d16), 0,
                    MVT::v4i16, 3, 0, 1, 2, 
     0, 
    26, MVT::v8i8,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64d8), 0,
                    MVT::v8i8, 3, 0, 1, 2, 
     0, 
    26, MVT::v2f32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64d32), 0,
                    MVT::v2f32, 3, 0, 1, 2, 
     0, 
    26, MVT::v4f16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64d16), 0,
                    MVT::v4f16, 3, 0, 1, 2, 
     0, 
    26, MVT::v4bf16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64d16), 0,
                    MVT::v4bf16, 3, 0, 1, 2, 
     0, 
    0,
   51|128,1, 
    OPC_CheckChild0Type, MVT::v2f32,
    OPC_SwitchType , 26, MVT::f64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64d32), 0,
                    MVT::f64, 3, 0, 1, 2, 
     0, 
    5, MVT::v2i32,
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    26, MVT::v1i64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64d32), 0,
                    MVT::v1i64, 3, 0, 1, 2, 
     0, 
    26, MVT::v4i16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32d16), 0,
                    MVT::v4i16, 3, 0, 1, 2, 
     0, 
    26, MVT::v8i8,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32d8), 0,
                    MVT::v8i8, 3, 0, 1, 2, 
     0, 
    26, MVT::v4f16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32d16), 0,
                    MVT::v4f16, 3, 0, 1, 2, 
     0, 
    26, MVT::v4bf16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32d16), 0,
                    MVT::v4bf16, 3, 0, 1, 2, 
     0, 
    0,
   51|128,1, 
    OPC_CheckChild0Type, MVT::v2i32,
    OPC_SwitchType , 26, MVT::f64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64d32), 0,
                    MVT::f64, 3, 0, 1, 2, 
     0, 
    26, MVT::v1i64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64d32), 0,
                    MVT::v1i64, 3, 0, 1, 2, 
     0, 
    26, MVT::v4i16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32d16), 0,
                    MVT::v4i16, 3, 0, 1, 2, 
     0, 
    26, MVT::v8i8,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32d8), 0,
                    MVT::v8i8, 3, 0, 1, 2, 
     0, 
    5, MVT::v2f32,
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    26, MVT::v4f16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32d16), 0,
                    MVT::v4f16, 3, 0, 1, 2, 
     0, 
    26, MVT::v4bf16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32d16), 0,
                    MVT::v4bf16, 3, 0, 1, 2, 
     0, 
    0,
   23|128,1, 
    OPC_CheckChild0Type, MVT::v4f16,
    OPC_SwitchType , 26, MVT::f64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64d16), 0,
                    MVT::f64, 3, 0, 1, 2, 
     0, 
    5, MVT::v4i16,
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    26, MVT::v1i64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64d16), 0,
                    MVT::v1i64, 3, 0, 1, 2, 
     0, 
    26, MVT::v2i32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32d16), 0,
                    MVT::v2i32, 3, 0, 1, 2, 
     0, 
    26, MVT::v8i8,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV16d8), 0,
                    MVT::v8i8, 3, 0, 1, 2, 
     0, 
    26, MVT::v2f32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32d16), 0,
                    MVT::v2f32, 3, 0, 1, 2, 
     0, 
    0,
   23|128,1, 
    OPC_CheckChild0Type, MVT::v4bf16,
    OPC_SwitchType , 26, MVT::f64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64d16), 0,
                    MVT::f64, 3, 0, 1, 2, 
     0, 
    5, MVT::v4i16,
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    26, MVT::v1i64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64d16), 0,
                    MVT::v1i64, 3, 0, 1, 2, 
     0, 
    26, MVT::v2i32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32d16), 0,
                    MVT::v2i32, 3, 0, 1, 2, 
     0, 
    26, MVT::v8i8,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV16d8), 0,
                    MVT::v8i8, 3, 0, 1, 2, 
     0, 
    26, MVT::v2f32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32d16), 0,
                    MVT::v2f32, 3, 0, 1, 2, 
     0, 
    0,
   30|128,1, 
    OPC_CheckChild0Type, MVT::v4i16,
    OPC_SwitchType , 26, MVT::f64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64d16), 0,
                    MVT::f64, 3, 0, 1, 2, 
     0, 
    26, MVT::v1i64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64d16), 0,
                    MVT::v1i64, 3, 0, 1, 2, 
     0, 
    26, MVT::v2i32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32d16), 0,
                    MVT::v2i32, 3, 0, 1, 2, 
     0, 
    26, MVT::v8i8,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV16d8), 0,
                    MVT::v8i8, 3, 0, 1, 2, 
     0, 
    5, MVT::v4f16,
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, MVT::v4bf16,
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    26, MVT::v2f32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32d16), 0,
                    MVT::v2f32, 3, 0, 1, 2, 
     0, 
    0,
   72|128,1, 
    OPC_CheckChild0Type, MVT::v8i8,
    OPC_SwitchType , 26, MVT::f64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64d8), 0,
                    MVT::f64, 3, 0, 1, 2, 
     0, 
    26, MVT::v1i64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64d8), 0,
                    MVT::v1i64, 3, 0, 1, 2, 
     0, 
    26, MVT::v2i32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32d8), 0,
                    MVT::v2i32, 3, 0, 1, 2, 
     0, 
    26, MVT::v4i16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV16d8), 0,
                    MVT::v4i16, 3, 0, 1, 2, 
     0, 
    26, MVT::v2f32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32d8), 0,
                    MVT::v2f32, 3, 0, 1, 2, 
     0, 
    26, MVT::v4f16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV16d8), 0,
                    MVT::v4f16, 3, 0, 1, 2, 
     0, 
    26, MVT::v4bf16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV16d8), 0,
                    MVT::v4bf16, 3, 0, 1, 2, 
     0, 
    0,
   54, 
    OPC_CheckChild0Type, MVT::i32,
    OPC_CheckType, MVT::f32,
    OPC_Scope, 17, 
     OPC_CheckPatternPredicate, 112,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_MorphNodeTo1, TARGET_VAL(ARM::VMOVSR), 0,
                   MVT::f32, 3, 0, 1, 2, 
    29, 
     OPC_CheckPatternPredicate, 113,
     OPC_EmitInteger, MVT::i32, 28, 
     OPC_EmitRegister, MVT::i32, 0 ,
     OPC_EmitNode1, TARGET_VAL(ARM::VMOVDRR), 0,
                   MVT::f64, 4, 0, 0, 1, 2, 
     OPC_EmitStringInteger, MVT::i32, ARM::ssub_0,
     OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                   MVT::f32, 2, 3, 4, 
    0, 
   51|128,1, 
    OPC_CheckChild0Type, MVT::f64,
    OPC_SwitchType , 5, MVT::v1i64,
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    26, MVT::v2i32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64d32), 0,
                    MVT::v2i32, 3, 0, 1, 2, 
     0, 
    26, MVT::v4i16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64d16), 0,
                    MVT::v4i16, 3, 0, 1, 2, 
     0, 
    26, MVT::v8i8,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64d8), 0,
                    MVT::v8i8, 3, 0, 1, 2, 
     0, 
    26, MVT::v2f32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64d32), 0,
                    MVT::v2f32, 3, 0, 1, 2, 
     0, 
    26, MVT::v4f16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64d16), 0,
                    MVT::v4f16, 3, 0, 1, 2, 
     0, 
    26, MVT::v4bf16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64d16), 0,
                    MVT::v4bf16, 3, 0, 1, 2, 
     0, 
    0,
   107|128,2, 
    OPC_CheckChild0Type, MVT::v2f64,
    OPC_SwitchType , 14, MVT::v2i64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 7,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 8,
      OPC_CompleteMatch, 1, 0, 

     0, 
    61, MVT::v4i32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64q32), 0,
                    MVT::v4i32, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_32), 0,
                    MVT::v4i32, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v8i16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64q16), 0,
                    MVT::v8i16, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_16), 0,
                    MVT::v8i16, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v16i8,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64q8), 0,
                    MVT::v16i8, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_8), 0,
                    MVT::v16i8, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v4f32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64q32), 0,
                    MVT::v4f32, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_32), 0,
                    MVT::v4f32, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v8f16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64q16), 0,
                    MVT::v8f16, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_16), 0,
                    MVT::v8f16, 5, 0, 1, 2, 3, 4, 
     0, 
    26, MVT::v8bf16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64q16), 0,
                    MVT::v8bf16, 3, 0, 1, 2, 
     0, 
    0,
   107|128,2, 
    OPC_CheckChild0Type, MVT::v4f32,
    OPC_SwitchType , 14, MVT::v4i32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 7,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 8,
      OPC_CompleteMatch, 1, 0, 

     0, 
    61, MVT::v2i64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64q32), 0,
                    MVT::v2i64, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_32), 0,
                    MVT::v2i64, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v8i16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32q16), 0,
                    MVT::v8i16, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV32_16), 0,
                    MVT::v8i16, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v16i8,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32q8), 0,
                    MVT::v16i8, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV32_8), 0,
                    MVT::v16i8, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v2f64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64q32), 0,
                    MVT::v2f64, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_32), 0,
                    MVT::v2f64, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v8f16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32q16), 0,
                    MVT::v8f16, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV32_16), 0,
                    MVT::v8f16, 5, 0, 1, 2, 3, 4, 
     0, 
    26, MVT::v8bf16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32q16), 0,
                    MVT::v8bf16, 3, 0, 1, 2, 
     0, 
    0,
   79|128,2, 
    OPC_CheckChild0Type, MVT::v8f16,
    OPC_SwitchType , 14, MVT::v8i16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 7,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 8,
      OPC_CompleteMatch, 1, 0, 

     0, 
    61, MVT::v2i64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64q16), 0,
                    MVT::v2i64, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_16), 0,
                    MVT::v2i64, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v4i32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32q16), 0,
                    MVT::v4i32, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV32_16), 0,
                    MVT::v4i32, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v16i8,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV16q8), 0,
                    MVT::v16i8, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV16_8), 0,
                    MVT::v16i8, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v2f64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64q16), 0,
                    MVT::v2f64, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_16), 0,
                    MVT::v2f64, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v4f32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32q16), 0,
                    MVT::v4f32, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV32_16), 0,
                    MVT::v4f32, 5, 0, 1, 2, 3, 4, 
     0, 
    0,
   23|128,1, 
    OPC_CheckChild0Type, MVT::v8bf16,
    OPC_SwitchType , 5, MVT::v8i16,
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    26, MVT::v2i64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64q16), 0,
                    MVT::v2i64, 3, 0, 1, 2, 
     0, 
    26, MVT::v4i32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32q16), 0,
                    MVT::v4i32, 3, 0, 1, 2, 
     0, 
    26, MVT::v16i8,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV16q8), 0,
                    MVT::v16i8, 3, 0, 1, 2, 
     0, 
    26, MVT::v2f64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64q16), 0,
                    MVT::v2f64, 3, 0, 1, 2, 
     0, 
    26, MVT::v4f32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32q16), 0,
                    MVT::v4f32, 3, 0, 1, 2, 
     0, 
    0,
   107|128,2, 
    OPC_CheckChild0Type, MVT::v4i32,
    OPC_SwitchType , 61, MVT::v2i64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64q32), 0,
                    MVT::v2i64, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_32), 0,
                    MVT::v2i64, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v8i16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32q16), 0,
                    MVT::v8i16, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV32_16), 0,
                    MVT::v8i16, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v16i8,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32q8), 0,
                    MVT::v16i8, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV32_8), 0,
                    MVT::v16i8, 5, 0, 1, 2, 3, 4, 
     0, 
    14, MVT::v4f32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 7,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 8,
      OPC_CompleteMatch, 1, 0, 

     0, 
    61, MVT::v2f64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64q32), 0,
                    MVT::v2f64, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_32), 0,
                    MVT::v2f64, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v8f16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32q16), 0,
                    MVT::v8f16, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV32_16), 0,
                    MVT::v8f16, 5, 0, 1, 2, 3, 4, 
     0, 
    26, MVT::v8bf16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32q16), 0,
                    MVT::v8bf16, 3, 0, 1, 2, 
     0, 
    0,
   86|128,2, 
    OPC_CheckChild0Type, MVT::v8i16,
    OPC_SwitchType , 61, MVT::v2i64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64q16), 0,
                    MVT::v2i64, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_16), 0,
                    MVT::v2i64, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v4i32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32q16), 0,
                    MVT::v4i32, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV32_16), 0,
                    MVT::v4i32, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v16i8,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV16q8), 0,
                    MVT::v16i8, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV16_8), 0,
                    MVT::v16i8, 5, 0, 1, 2, 3, 4, 
     0, 
    14, MVT::v8f16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 7,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 8,
      OPC_CompleteMatch, 1, 0, 

     0, 
    5, MVT::v8bf16,
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    61, MVT::v2f64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64q16), 0,
                    MVT::v2f64, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_16), 0,
                    MVT::v2f64, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v4f32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32q16), 0,
                    MVT::v4f32, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV32_16), 0,
                    MVT::v4f32, 5, 0, 1, 2, 3, 4, 
     0, 
    0,
   26|128,3, 
    OPC_CheckChild0Type, MVT::v16i8,
    OPC_SwitchType , 61, MVT::v2i64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64q8), 0,
                    MVT::v2i64, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_8), 0,
                    MVT::v2i64, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v4i32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32q8), 0,
                    MVT::v4i32, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV32_8), 0,
                    MVT::v4i32, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v8i16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV16q8), 0,
                    MVT::v8i16, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV16_8), 0,
                    MVT::v8i16, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v2f64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64q8), 0,
                    MVT::v2f64, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_8), 0,
                    MVT::v2f64, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v4f32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV32q8), 0,
                    MVT::v4f32, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV32_8), 0,
                    MVT::v4f32, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v8f16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV16q8), 0,
                    MVT::v8f16, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV16_8), 0,
                    MVT::v8f16, 5, 0, 1, 2, 3, 4, 
     0, 
    26, MVT::v8bf16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV16q8), 0,
                    MVT::v8bf16, 3, 0, 1, 2, 
     0, 
    0,
   107|128,2, 
    OPC_CheckChild0Type, MVT::v2i64,
    OPC_SwitchType , 61, MVT::v4i32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64q32), 0,
                    MVT::v4i32, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_32), 0,
                    MVT::v4i32, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v8i16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64q16), 0,
                    MVT::v8i16, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_16), 0,
                    MVT::v8i16, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v16i8,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64q8), 0,
                    MVT::v16i8, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_8), 0,
                    MVT::v16i8, 5, 0, 1, 2, 3, 4, 
     0, 
    14, MVT::v2f64,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 7,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 8,
      OPC_CompleteMatch, 1, 0, 

     0, 
    61, MVT::v4f32,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64q32), 0,
                    MVT::v4f32, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_32), 0,
                    MVT::v4f32, 5, 0, 1, 2, 3, 4, 
     0, 
    61, MVT::v8f16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

     5, 
      OPC_CheckPatternPredicate, 52,
      OPC_CompleteMatch, 1, 0, 

     17, 
      OPC_CheckPatternPredicate, 49,
      OPC_EmitInteger, MVT::i32, 28, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_MorphNodeTo1, TARGET_VAL(ARM::VREV64q16), 0,
                    MVT::v8f16, 3, 0, 1, 2, 
     28, 
      OPC_CheckPatternPredicate, 53,
      OPC_EmitInteger, MVT::i32, 0, 
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitRegister, MVT::i32, 0 ,
      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0, 
      OPC_MorphNodeTo1, TARGET_VAL(ARM::MVE_VREV64_16), 0,
                    MVT::v8f16, 5, 0, 1, 2, 3, 4, 
     0, 
    26, MVT::v8bf16,
     OPC_Scope, 5, 
      OPC_CheckPatternPredicate, 48,
      OPC_CompleteMatch, 1, 0, 

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

   5, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v1i64,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4f16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4bf16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v2f32,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   0,
  60, 
   OPC_CheckChild0Type, MVT::v4i16,
   OPC_SwitchType , 5, MVT::f64,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v1i64,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4f16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4bf16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v2f32,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   0,
  60, 
   OPC_CheckChild0Type, MVT::v4f16,
   OPC_SwitchType , 5, MVT::f64,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v1i64,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4f16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4bf16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v2f32,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   0,
  60, 
   OPC_CheckChild0Type, MVT::v4bf16,
   OPC_SwitchType , 5, MVT::f64,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v1i64,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4f16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4bf16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v2f32,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   0,
  60, 
   OPC_CheckChild0Type, MVT::v2i32,
   OPC_SwitchType , 5, MVT::f64,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v1i64,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4f16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4bf16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v2f32,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   0,
  60, 
   OPC_CheckChild0Type, MVT::v2f32,
   OPC_SwitchType , 5, MVT::f64,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v1i64,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4f16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4bf16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v2f32,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   0,
  60, 
   OPC_CheckChild0Type, MVT::v1i64,
   OPC_SwitchType , 5, MVT::f64,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v1i64,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4f16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4bf16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v2f32,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   0,
  60, 
   OPC_CheckChild0Type, MVT::f64,
   OPC_SwitchType , 5, MVT::f64,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v8i8,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4i16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v2i32,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v1i64,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4f16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4bf16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v2f32,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   0,
  123, 
   OPC_CheckChild0Type, MVT::v16i8,
   OPC_SwitchType , 14, MVT::v16i8,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v8i16,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v4i32,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v2i64,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v8f16,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   5, MVT::v8bf16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   14, MVT::v4f32,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v2f64,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   0,
  123, 
   OPC_CheckChild0Type, MVT::v8i16,
   OPC_SwitchType , 14, MVT::v16i8,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v8i16,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v4i32,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v2i64,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v8f16,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   5, MVT::v8bf16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   14, MVT::v4f32,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v2f64,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   0,
  123, 
   OPC_CheckChild0Type, MVT::v8f16,
   OPC_SwitchType , 14, MVT::v16i8,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v8i16,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v4i32,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v2i64,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v8f16,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   5, MVT::v8bf16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   14, MVT::v4f32,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v2f64,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   0,
  60, 
   OPC_CheckChild0Type, MVT::v8bf16,
   OPC_SwitchType , 5, MVT::v16i8,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v8i16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4i32,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v2i64,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v8f16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v8bf16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v4f32,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   5, MVT::v2f64,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   0,
  123, 
   OPC_CheckChild0Type, MVT::v4i32,
   OPC_SwitchType , 14, MVT::v16i8,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v8i16,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v4i32,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v2i64,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v8f16,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   5, MVT::v8bf16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   14, MVT::v4f32,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v2f64,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   0,
  123, 
   OPC_CheckChild0Type, MVT::v4f32,
   OPC_SwitchType , 14, MVT::v16i8,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v8i16,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v4i32,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v2i64,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v8f16,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   5, MVT::v8bf16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   14, MVT::v4f32,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v2f64,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   0,
  123, 
   OPC_CheckChild0Type, MVT::v2i64,
   OPC_SwitchType , 14, MVT::v16i8,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v8i16,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v4i32,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v2i64,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v8f16,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   5, MVT::v8bf16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   14, MVT::v4f32,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v2f64,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   0,
  123, 
   OPC_CheckChild0Type, MVT::v2f64,
   OPC_SwitchType , 14, MVT::v16i8,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v8i16,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v4i32,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v2i64,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v8f16,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   5, MVT::v8bf16,
    OPC_CheckPatternPredicate, 7,
    OPC_CompleteMatch, 1, 0, 

   14, MVT::v4f32,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

    0, 
   14, MVT::v2f64,
    OPC_Scope, 5, 
     OPC_CheckPatternPredicate, 7,
     OPC_CompleteMatch, 1, 0, 

    5, 
     OPC_CheckPatternPredicate, 8,
     OPC_CompleteMatch, 1, 0, 

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

  #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->hasV6Ops()) && (!Subtarget->isThumb());
  case 1: return (Subtarget->isThumb2());
  case 2: return (Subtarget->hasDSP()) && (Subtarget->isThumb2());
  case 3: return (Subtarget->hasV6T2Ops()) && (!Subtarget->isThumb());
  case 4: return (!Subtarget->isThumb());
  case 5: return (Subtarget->hasV8MBaselineOps()) && (Subtarget->isThumb());
  case 6: return (Subtarget->isThumb()) && (Subtarget->isThumb1Only());
  case 7: return (Subtarget->hasNEON());
  case 8: return (Subtarget->hasMVEIntegerOps());
  case 9: return (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps());
  case 10: return (Subtarget->hasDSP()) && (Subtarget->isThumb2()) && (Subtarget->useMulOps());
  case 11: return (Subtarget->hasV8MBaselineOps());
  case 12: return (Subtarget->hasV6Ops()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps());
  case 13: return (!Subtarget->isThumb()) && (!Subtarget->hasV6Ops());
  case 14: return (Subtarget->isThumb2()) && (Subtarget->useMulOps());
  case 15: return (Subtarget->hasV8_1MMainlineOps());
  case 16: return (Subtarget->hasAcquireRelease()) && (Subtarget->hasV7Clrex()) && (Subtarget->isThumb());
  case 17: return (Subtarget->hasV6Ops()) && (Subtarget->isThumb()) && (Subtarget->isThumb1Only());
  case 18: return (Subtarget->hasMVEFloatOps());
  case 19: return (Subtarget->hasCDEOps());
  case 20: return (Subtarget->hasMVEIntegerOps()) && (Subtarget->hasV8_1MMainlineOps());
  case 21: return (Subtarget->hasCRC()) && (Subtarget->hasV8Ops()) && (!Subtarget->isThumb());
  case 22: return (Subtarget->hasCRC()) && (Subtarget->hasV8Ops()) && (Subtarget->isThumb2());
  case 23: return (Subtarget->hasV5TEOps()) && (!Subtarget->isThumb());
  case 24: return (Subtarget->has8MSecExt()) && (Subtarget->isThumb());
  case 25: return (Subtarget->hasCDEOps()) && (Subtarget->hasFPRegs());
  case 26: return (Subtarget->hasFullFP16());
  case 27: return (Subtarget->hasFPARMv8Base());
  case 28: return (Subtarget->hasFP64()) && (Subtarget->hasFPARMv8Base());
  case 29: return (Subtarget->hasNEON()) && (Subtarget->hasV8Ops());
  case 30: return (Subtarget->hasFullFP16()) && (Subtarget->hasNEON()) && (Subtarget->hasV8Ops());
  case 31: return (Subtarget->hasFP64()) && (Subtarget->hasVFP2Base());
  case 32: return (!Subtarget->useNEONForSinglePrecisionFP()) && (Subtarget->hasVFP2Base());
  case 33: return (Subtarget->hasDotProd());
  case 34: return (Subtarget->hasMatMulInt8());
  case 35: return (Subtarget->hasNEON()) && (Subtarget->hasV8_1aOps());
  case 36: return (Subtarget->hasCDEOps()) && (Subtarget->hasMVEIntegerOps());
  case 37: return (Subtarget->hasCDEOps()) && (Subtarget->hasMVEFloatOps());
  case 38: return (Subtarget->hasFullFP16()) && (Subtarget->hasNEON());
  case 39: return (Subtarget->hasAES()) && (Subtarget->hasV8Ops());
  case 40: return (Subtarget->hasFP16()) && (Subtarget->hasNEON());
  case 41: return (Subtarget->hasSHA2()) && (Subtarget->hasV8Ops());
  case 42: return (Subtarget->hasBF16()) && (Subtarget->hasNEON());
  case 43: return (Subtarget->hasFullFP16()) && (Subtarget->hasNEON()) && (Subtarget->hasV8_3aOps());
  case 44: return (Subtarget->hasNEON()) && (Subtarget->hasV8_3aOps());
  case 45: return (!Subtarget->hasFPRegs16()) && (!Subtarget->isThumb());
  case 46: return (Subtarget->hasVFP2Base());
  case 47: return (Subtarget->hasFPRegs());
  case 48: return (Subtarget->hasNEON()) && (MF->getDataLayout().isLittleEndian());
  case 49: return (Subtarget->hasNEON()) && (MF->getDataLayout().isBigEndian());
  case 50: return (Subtarget->hasFPRegs16());
  case 51: return (!Subtarget->hasFPRegs16()) && (Subtarget->isThumb());
  case 52: return (Subtarget->hasMVEIntegerOps()) && (MF->getDataLayout().isLittleEndian());
  case 53: return (Subtarget->hasMVEIntegerOps()) && (MF->getDataLayout().isBigEndian());
  case 54: return (!Subtarget->isThumb()) && (!Subtarget->hasV8Ops());
  case 55: return (Subtarget->isThumb2()) && (!Subtarget->hasV8Ops());
  case 56: return (Subtarget->isThumb()) && (Subtarget->isTargetWindows());
  case 57: return (Subtarget->hasV6MOps()) && (Subtarget->isThumb());
  case 58: return (Subtarget->hasV7Ops()) && (!Subtarget->isThumb());
  case 59: return (Subtarget->isThumb());
  case 60: return (Subtarget->hasDataBarrier()) && (!Subtarget->isThumb());
  case 61: return (Subtarget->hasDataBarrier()) && (Subtarget->isThumb());
  case 62: return (Subtarget->hasV6KOps()) && (!Subtarget->isThumb());
  case 63: return (Subtarget->hasV7Clrex()) && (Subtarget->isThumb());
  case 64: return (Subtarget->hasMPExtension()) && (Subtarget->hasV7Ops()) && (Subtarget->isThumb2());
  case 65: return (Subtarget->hasMPExtension()) && (Subtarget->hasV7Ops()) && (!Subtarget->isThumb());
  case 66: return (Subtarget->hasV7Ops()) && (Subtarget->isThumb2());
  case 67: return (Subtarget->hasFPRegs64());
  case 68: return (!Subtarget->useMovt() || !Subtarget->allowPositionIndependentMovt()) && (!Subtarget->isThumb());
  case 69: return (!Subtarget->isThumb()) && (Subtarget->useMovt() && Subtarget->allowPositionIndependentMovt());
  case 70: return (MF->getDataLayout().isLittleEndian()) && (Subtarget->isThumb()) && (Subtarget->isThumb1Only());
  case 71: return (Subtarget->hasAcquireRelease()) && (Subtarget->hasV7Clrex()) && (!Subtarget->isThumb());
  case 72: return (Subtarget->hasV6T2Ops()) && (Subtarget->isThumb2());
  case 73: return (Subtarget->hasV5TOps()) && (!Subtarget->isThumb());
  case 74: return (Subtarget->hasLOB()) && (Subtarget->hasV8_1MMainlineOps()) && (Subtarget->isThumb2());
  case 75: return (!Subtarget->isThumb()) && (!Subtarget->hasV6Ops()) && (Subtarget->useMulOps());
  case 76: return (Subtarget->hasV6T2Ops()) && (!Subtarget->isThumb()) && (Subtarget->useMulOps());
  case 77: return (Subtarget->isThumb1Only());
  case 78: return (!Subtarget->isMClass()) && (Subtarget->isThumb2());
  case 79: return (Subtarget->hasV5TOps()) && (!Subtarget->isThumb()) && ( !MF->getSubtarget<ARMSubtarget>().hardenSlsBlr() );
  case 80: return (Subtarget->hasV5TOps()) && (!Subtarget->isThumb()) && ( MF->getSubtarget<ARMSubtarget>().hardenSlsBlr() );
  case 81: return (Subtarget->hasV5TOps()) && (Subtarget->isThumb()) && ( !MF->getSubtarget<ARMSubtarget>().hardenSlsBlr() );
  case 82: return (Subtarget->hasV5TOps()) && (Subtarget->isThumb()) && ( MF->getSubtarget<ARMSubtarget>().hardenSlsBlr() );
  case 83: return (Subtarget->hasV4TOps()) && (!Subtarget->isThumb());
  case 84: return (!Subtarget->isThumb()) && (!Subtarget->hasV4TOps());
  case 85: return (!Subtarget->useMovt()) && (!Subtarget->isThumb());
  case 86: return (!Subtarget->isThumb()) && (Subtarget->useMovt());
  case 87: return (!Subtarget->useMovt()) && (Subtarget->isThumb());
  case 88: return (Subtarget->hasV8MBaselineOps()) && (Subtarget->isThumb()) && (Subtarget->useMovt());
  case 89: return (Subtarget->isThumb2()) && (Subtarget->useMovt());
  case 90: return (!Subtarget->useMovt() || !Subtarget->allowPositionIndependentMovt()) && (Subtarget->isThumb());
  case 91: return (Subtarget->hasV8MBaselineOps()) && (Subtarget->isThumb()) && (Subtarget->useMovt() && Subtarget->allowPositionIndependentMovt());
  case 92: return (!Subtarget->useMovt() || !Subtarget->allowPositionIndependentMovt()) && (Subtarget->hasV8MBaselineOps()) && (Subtarget->isThumb());
  case 93: return (Subtarget->isThumb2()) && (Subtarget->useMovt() && Subtarget->allowPositionIndependentMovt());
  case 94: return (Subtarget->hasFPRegs()) && (!Subtarget->hasSlowVGETLNi32());
  case 95: return (Subtarget->hasNEON()) && (Subtarget->hasSlowVGETLNi32());
  case 96: return (!Subtarget->hasSlowVGETLNi32()) && (Subtarget->hasNEON());
  case 97: return (Subtarget->hasBF16()) && (Subtarget->hasFullFP16()) && (Subtarget->hasNEON());
  case 98: return (Subtarget->hasNEON()) && (Subtarget->useNEONForSinglePrecisionFP());
  case 99: return (Subtarget->isThumb()) && (Subtarget->useMovt());
  case 100: return (!Subtarget->isThumb()) && (Subtarget->useNaClTrap());
  case 101: return (!Subtarget->useNaClTrap()) && (!Subtarget->isThumb());
  case 102: return (!Subtarget->isThumb()) && (!Subtarget->hasV5TOps());
  case 103: return (Subtarget->hasV5TOps()) && (Subtarget->isThumb());
  case 104: return (Subtarget->isThumb()) && (!Subtarget->hasV5TOps());
  case 105: return (Subtarget->hasDivideInARMMode()) && (!Subtarget->isThumb());
  case 106: return (Subtarget->hasDivideInThumbMode()) && (Subtarget->hasV8MBaselineOps()) && (Subtarget->isThumb());
  case 107: return (!Subtarget->isThumb()) && (!Subtarget->isReadTPHard());
  case 108: return (!Subtarget->isThumb()) && (Subtarget->isReadTPHard());
  case 109: return (!Subtarget->isReadTPHard()) && (Subtarget->isThumb());
  case 110: return (Subtarget->isReadTPHard()) && (Subtarget->isThumb2());
  case 111: return (!Subtarget->isTargetWindows()) && (Subtarget->isThumb());
  case 112: return (Subtarget->hasFPRegs()) && (Subtarget->preferVMOVSR() ||!Subtarget->useNEONForSinglePrecisionFP());
  case 113: return (!Subtarget->preferVMOVSR() &&Subtarget->useNEONForSinglePrecisionFP()) && (Subtarget->hasNEON());
  case 114: return (Subtarget->hasFP16());
  case 115: return (Subtarget->hasVFP2Base()) && (!Subtarget->isThumb());
  case 116: return (!Subtarget->isThumb()) && (!Subtarget->hasVFP2Base());
  case 117: return (Subtarget->hasVFP2Base()) && (Subtarget->isThumb2());
  case 118: return (Subtarget->isThumb2()) && (!Subtarget->hasVFP2Base());
  case 119: return (Subtarget->hasFP64()) && (Subtarget->hasVFP2Base()) && (((Subtarget->useFPVMLx() &&  TM.Options.AllowFPOpFusion != FPOpFusion::Fast) ||Subtarget->hasMinSize()));
  case 120: return (Subtarget->hasFP64()) && (Subtarget->hasVFP4Base()) && (TM.Options.AllowFPOpFusion ==  FPOpFusion::Fast && Subtarget->useFPVFMx());
  case 121: return (!Subtarget->useNEONForSinglePrecisionFP()) && (Subtarget->hasVFP2Base()) && (((Subtarget->useFPVMLx() &&  TM.Options.AllowFPOpFusion != FPOpFusion::Fast) ||Subtarget->hasMinSize()));
  case 122: return (!Subtarget->useNEONForSinglePrecisionFP()) && (Subtarget->hasVFP4Base()) && (TM.Options.AllowFPOpFusion ==  FPOpFusion::Fast && Subtarget->useFPVFMx());
  case 123: return (Subtarget->hasFullFP16()) && (((Subtarget->useFPVMLx() &&  TM.Options.AllowFPOpFusion != FPOpFusion::Fast) ||Subtarget->hasMinSize()));
  case 124: return (Subtarget->hasFullFP16()) && (TM.Options.AllowFPOpFusion ==  FPOpFusion::Fast && Subtarget->useFPVFMx());
  case 125: return (!Subtarget->useNEONForSinglePrecisionFP()) && (Subtarget->hasFullFP16()) && (((Subtarget->useFPVMLx() &&  TM.Options.AllowFPOpFusion != FPOpFusion::Fast) ||Subtarget->hasMinSize()));
  case 126: return (!Subtarget->useNEONForSinglePrecisionFP()) && (Subtarget->hasFullFP16()) && (TM.Options.AllowFPOpFusion ==  FPOpFusion::Fast && Subtarget->useFPVFMx());
  case 127: return (Subtarget->hasNEON()) && (((Subtarget->useFPVMLx() &&  TM.Options.AllowFPOpFusion != FPOpFusion::Fast) ||Subtarget->hasMinSize())) && (Subtarget->useNEONForSinglePrecisionFP());
  case 128: return (Subtarget->hasVFP4Base()) && (TM.Options.AllowFPOpFusion ==  FPOpFusion::Fast && Subtarget->useFPVFMx()) && (Subtarget->useNEONForSinglePrecisionFP());
  case 129: return (Subtarget->hasNEON()) && (((Subtarget->useFPVMLx() &&  TM.Options.AllowFPOpFusion != FPOpFusion::Fast) ||Subtarget->hasMinSize()));
  case 130: return (Subtarget->hasFullFP16()) && (Subtarget->hasNEON()) && (((Subtarget->useFPVMLx() &&  TM.Options.AllowFPOpFusion != FPOpFusion::Fast) ||Subtarget->hasMinSize()));
  case 131: return (Subtarget->hasNEON()) && (Subtarget->hasVFP4Base()) && (TM.Options.AllowFPOpFusion ==  FPOpFusion::Fast && Subtarget->useFPVFMx());
  case 132: return (Subtarget->hasFullFP16()) && (Subtarget->hasNEON()) && (TM.Options.AllowFPOpFusion ==  FPOpFusion::Fast && Subtarget->useFPVFMx());
  case 133: return (Subtarget->hasFP64()) && (Subtarget->hasVFP4Base());
  case 134: return (Subtarget->hasVFP4Base());
  case 135: return (Subtarget->hasNEON()) && (Subtarget->hasVFP4Base());
  case 136: return (Subtarget->hasFP64()) && (!TM.Options.HonorSignDependentRoundingFPMath());
  case 137: return (!TM.Options.HonorSignDependentRoundingFPMath());
  case 138: return (Subtarget->hasFP64()) && (Subtarget->hasVFP3Base());
  case 139: return (Subtarget->hasVFP3Base());
  case 140: return (Subtarget->hasVFP2Base()) && (Subtarget->preferVMOVSR() ||!Subtarget->useNEONForSinglePrecisionFP());
  case 141: return (Subtarget->hasZeroCycleZeroing());
  case 142: return (!Subtarget->hasSlowVDUP32()) && (Subtarget->hasNEON());
  case 143: return (Subtarget->hasNEON()) && (Subtarget->hasSlowVDUP32());
  }
}
#endif // GET_DAGISEL_BODY

#ifdef GET_DAGISEL_DECL
bool CheckNodePredicate(SDNode *Node, unsigned PredNo) const override;
#endif
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDNode *Node, unsigned PredNo) const
#if DAGISEL_INLINE
  override
#endif
{
  switch (PredNo) {
  default: llvm_unreachable("Invalid predicate in table?");
  case 0: {
    // Predicate_pkh_lsl_amt
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return Imm >= 0 && Imm < 32; 
  }
  case 1: {
    // Predicate_pkh_asr_amt
    // Predicate_asr_imm
    // Predicate_shr_imm32
    // Predicate_long_shift
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return Imm > 0 && Imm <= 32; 
  }
  case 2: {
    // Predicate_imm1_15
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return Imm > 0 && Imm < 16; 
  }
  case 3: {
    // Predicate_imm16_31
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

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

  }
  case 4: {
    // Predicate_imm16
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return Imm == 16; 
  }
  case 5: {
    // Predicate_lo16AllZero
    auto *N = cast<ConstantSDNode>(Node);
    (void)N;

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

  }
  case 6: {
    // Predicate_t2_so_imm
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

    return ARM_AM::getT2SOImmVal(Imm) != -1;
  
  }
  case 7: {
    // Predicate_imm0_7
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

  return Imm >= 0 && Imm < 8;

  }
  case 8: {
    // Predicate_imm8_255
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

  return Imm >= 8 && Imm < 256;

  }
  case 9: {
    // Predicate_imm0_4095
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

  return Imm >= 0 && Imm < 4096;

  }
  case 10: {
    // Predicate_non_imm32
    SDNode *N = Node;
    (void)N;
 return !isa<ConstantSDNode>(N); 
  }
  case 11: {
    // Predicate_mod_imm
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

    return ARM_AM::getSOImmVal(Imm) != -1;
  
  }
  case 12: {
    // Predicate_t2_so_imm_not
    auto *N = cast<ConstantSDNode>(Node);
    (void)N;

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

  }
  case 13: {
    // Predicate_rot_imm
    auto *N = cast<ConstantSDNode>(Node);
    (void)N;

    int32_t v = N->getZExtValue();
    return v == 8 || v == 16 || v == 24; 
  }
  case 14: {
    // Predicate_imm8_or_16
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return Imm == 8 || Imm == 16;
  }
  case 15: {
    // Predicate_sext_16_node
    SDNode *N = Node;
    (void)N;

  return CurDAG->ComputeNumSignBits(SDValue(N,0)) >= 17;

  }
  case 16: {
    // Predicate_imm1_255_neg
    auto *N = cast<ConstantSDNode>(Node);
    (void)N;

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

  }
  case 17: {
    // Predicate_mod_imm_neg
    auto *N = cast<ConstantSDNode>(Node);
    (void)N;

    unsigned Value = -(unsigned)N->getZExtValue();
    return Value && ARM_AM::getSOImmVal(Value) != -1;
  
  }
  case 18: {
    // Predicate_imm0_7_neg
    auto *N = cast<ConstantSDNode>(Node);
    (void)N;

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

  }
  case 19: {
    // Predicate_imm8_255_neg
    auto *N = cast<ConstantSDNode>(Node);
    (void)N;

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

  }
  case 20: {
    // Predicate_t2_so_imm_neg
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

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

  }
  case 21: {
    // Predicate_imm0_4095_neg
    auto *N = cast<ConstantSDNode>(Node);
    (void)N;

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

  }
  case 22: {
    // Predicate_imm0_65535_neg
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

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

  }
  case 23: {
    // Predicate_topbitsallzero32
    SDNode *N = Node;
    (void)N;

  return SDValue(N,0)->getValueType(0) == MVT::i32 &&
         CurDAG->MaskedValueIsZero(SDValue(N,0), APInt::getHighBitsSet(32, 31));
  
  }
  case 24: {
    // Predicate_ARMcsinc_su
    // Predicate_and_su
    // Predicate_xor_su
    // Predicate_fmul_su
    SDNode *N = Node;
    (void)N;

  return N->hasOneUse();

  }
  case 25: {
    // Predicate_ldrex_1
    // Predicate_ldaex_1
    // Predicate_strex_1
    // Predicate_stlex_1
    SDNode *N = Node;
    (void)N;

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

  }
  case 26: {
    // Predicate_ldrex_2
    // Predicate_ldaex_2
    // Predicate_strex_2
    // Predicate_stlex_2
    SDNode *N = Node;
    (void)N;

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

  }
  case 27: {
    // Predicate_mod_imm_not
    auto *N = cast<ConstantSDNode>(Node);
    (void)N;

    return ARM_AM::getSOImmVal(~(uint32_t)N->getZExtValue()) != -1;
  
  }
  case 28: {
    // Predicate_top16Zero
    SDNode *N = Node;
    (void)N;

  return !SDValue(N,0)->getValueType(0).isVector() &&
         CurDAG->MaskedValueIsZero(SDValue(N,0), APInt::getHighBitsSet(32, 16));
  
  }
  case 29: {
    // Predicate_t2_so_imm_notSext
    auto *N = cast<ConstantSDNode>(Node);
    (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 30: {
    // Predicate_bf_inv_mask_imm
    auto *N = cast<ConstantSDNode>(Node);
    (void)N;

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

  }
  case 31: {
    // Predicate_ARMVectorRegCast
    SDNode *N = Node;
    (void)N;

       // Reject a match against bitconvert (aka ISD::BITCAST) if big-endian
       return !(CurDAG->getDataLayout().isBigEndian() &&
                N->getOpcode() == ISD::BITCAST);
    
  }
  case 32: {
    // Predicate_imm0_31
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

  return Imm >= 0 && Imm < 32;

  }
  case 33: {
    // Predicate_imm1_32
    auto *N = cast<ConstantSDNode>(Node);
    (void)N;

   uint64_t Imm = N->getZExtValue();
   return Imm > 0 && Imm <= 32;
 
  }
  case 34: {
    // Predicate_imm1_16
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

    return Imm > 0 && Imm <= 16;
  
  }
  case 35: {
    // Predicate_imm0_15
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

  return Imm >= 0 && Imm < 16;

  }
  case 36: {
    // Predicate_shr_imm8
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return Imm > 0 && Imm <= 8; 
  }
  case 37: {
    // Predicate_shr_imm16
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return Imm > 0 && Imm <= 16; 
  }
  case 38: {
    // Predicate_VectorIndex32
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

  return ((uint64_t)Imm) < 2;

  }
  case 39: {
    // Predicate_VectorIndex16
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

  return ((uint64_t)Imm) < 4;

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

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

  }
  case 42: {
    // Predicate_extloadi16
    // Predicate_post_truncsti16
    // Predicate_pre_truncsti16
    // Predicate_zextloadi16
    // Predicate_sextloadi16
    // Predicate_atomic_load_16
    // Predicate_atomic_store_16
    SDNode *N = Node;
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i16) return false;
return true;

  }
  case 43: {
    // Predicate_imm_sr
    auto *N = cast<ConstantSDNode>(Node);
    (void)N;

  uint64_t Imm = N->getZExtValue();
  return Imm > 0 && Imm <= 32;

  }
  case 44: {
    // Predicate_unindexedstore
    SDNode *N = Node;
    (void)N;
if (cast<StoreSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
return true;

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

  }
  case 46: {
    // Predicate_truncstorei16
    SDNode *N = Node;
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i16) return false;
 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
return true;

  }
  case 47: {
    // Predicate_post_truncst
    // Predicate_post_store
    SDNode *N = Node;
    (void)N;

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

  }
  case 48: {
    // Predicate_post_truncsti8
    // Predicate_pre_truncsti8
    // Predicate_zextloadi8
    // Predicate_sextloadi8
    // Predicate_extloadi8
    // Predicate_atomic_load_8
    // Predicate_atomic_store_8
    SDNode *N = Node;
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i8) return false;
return true;

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

  }
  case 50: {
    // Predicate_truncstorei8
    SDNode *N = Node;
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i8) return false;
 if (!cast<StoreSDNode>(N)->isTruncatingStore()) return false;
return true;

  }
  case 51: {
    // Predicate_alignedstore16
    // Predicate_aligned16_pre_store
    // Predicate_aligned16_post_store
    SDNode *N = Node;
    (void)N;

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

  }
  case 52: {
    // Predicate_alignedstore32
    // Predicate_aligned32_pre_store
    // Predicate_aligned32_post_store
    SDNode *N = Node;
    (void)N;

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

  }
  case 53: {
    // Predicate_pre_store
    // Predicate_pre_truncst
    SDNode *N = Node;
    (void)N;

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

  }
  case 54: {
    // Predicate_hword_alignedstore
    SDNode *N = Node;
    (void)N;

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

  }
  case 55: {
    // Predicate_byte_alignedstore
    SDNode *N = Node;
    (void)N;

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

  }
  case 56: {
    // Predicate_non_word_alignedstore
    SDNode *N = Node;
    (void)N;

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

  }
  case 57: {
    // Predicate_dword_alignedstore
    SDNode *N = Node;
    (void)N;

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

  }
  case 58: {
    // Predicate_word_alignedstore
    SDNode *N = Node;
    (void)N;

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

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

  }
  case 60: {
    // Predicate_truncstorevi16
    // Predicate_post_truncstvi16
    // Predicate_pre_truncstvi16
    SDNode *N = Node;
    (void)N;
if (cast<StoreSDNode>(N)->getMemoryVT().getScalarType() != MVT::i16) return false;
return true;

  }
  case 61: {
    // Predicate_imm0_239
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return Imm >= 0 && Imm < 240; 
  }
  case 62: {
    // Predicate_imm0_65535
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

  return Imm >= 0 && Imm < 65536;

  }
  case 63: {
    // Predicate_imm0_255
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return Imm >= 0 && Imm < 256; 
  }
  case 64: {
    // Predicate_load
    SDNode *N = Node;
    (void)N;
if (cast<LoadSDNode>(N)->getExtensionType() != ISD::NON_EXTLOAD) return false;
return true;

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

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

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

  }
  case 68: {
    // Predicate_alignedload16
    SDNode *N = Node;
    (void)N;

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

  }
  case 69: {
    // Predicate_alignedload32
    // Predicate_load_align4
    SDNode *N = Node;
    (void)N;

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

  }
  case 70: {
    // Predicate_hword_alignedload
    SDNode *N = Node;
    (void)N;

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

  }
  case 71: {
    // Predicate_byte_alignedload
    SDNode *N = Node;
    (void)N;

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

  }
  case 72: {
    // Predicate_non_word_alignedload
    SDNode *N = Node;
    (void)N;

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

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

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

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

  }
  case 76: {
    // Predicate_dword_alignedload
    SDNode *N = Node;
    (void)N;

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

  }
  case 77: {
    // Predicate_word_alignedload
    SDNode *N = Node;
    (void)N;

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

  }
  case 78: {
    // Predicate_strex_4
    // Predicate_stlex_4
    // Predicate_ldrex_4
    // Predicate_ldaex_4
    SDNode *N = Node;
    (void)N;

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

  }
  case 79: {
    // Predicate_ARMimmOneV
    SDNode *N = Node;
    (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 80: {
    // Predicate_atomic_load_acquire_8
    // Predicate_atomic_load_acquire_16
    // Predicate_atomic_load_acquire_32
    SDNode *N = Node;
    (void)N;

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

  }
  case 81: {
    // Predicate_atomic_load_32
    // Predicate_atomic_store_32
    SDNode *N = Node;
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i32) return false;
return true;

  }
  case 82: {
    // Predicate_atomic_store_release_8
    // Predicate_atomic_store_release_16
    // Predicate_atomic_store_release_32
    SDNode *N = Node;
    (void)N;

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

  }
  case 83: {
    // Predicate_lo5AllOne
    auto *N = cast<ConstantSDNode>(Node);
    (void)N;

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

  }
  case 84: {
    // Predicate_imm1_31
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return Imm > 0 && Imm < 32; 
  }
  case 85: {
    // Predicate_aligned_maskedstvi8
    // Predicate_aligned_pre_maskedstorevi8
    // Predicate_aligned_post_maskedstorevi8
    // Predicate_aligned_truncmaskedstvi8
    // Predicate_aligned_post_truncmaskedstvi8
    // Predicate_aligned_pre_truncmaskedstvi8
    SDNode *N = Node;
    (void)N;

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

  }
  case 86: {
    // Predicate_pre_maskedstore
    SDNode *N = Node;
    (void)N;

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

  }
  case 87: {
    // Predicate_post_maskedstore
    SDNode *N = Node;
    (void)N;

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

  }
  case 88: {
    // Predicate_aligned_maskedstvi16
    // Predicate_aligned_pre_maskedstorevi16
    // Predicate_aligned_post_maskedstorevi16
    // Predicate_aligned_truncmaskedstvi16
    // Predicate_aligned_post_truncmaskedstvi16
    // Predicate_aligned_pre_truncmaskedstvi16
    SDNode *N = Node;
    (void)N;

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

  }
  case 89: {
    // Predicate_truncmaskedst
    SDNode *N = Node;
    (void)N;

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

  }
  case 90: {
    // Predicate_post_truncmaskedst
    SDNode *N = Node;
    (void)N;

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

  }
  case 91: {
    // Predicate_pre_truncmaskedst
    SDNode *N = Node;
    (void)N;

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

  }
  case 92: {
    // Predicate_aligned_maskedstvi32
    // Predicate_aligned_pre_maskedstorevi32
    // Predicate_aligned_post_maskedstorevi32
    SDNode *N = Node;
    (void)N;

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

  }
  case 93: {
    // Predicate_imm0_255_not
    auto *N = cast<ConstantSDNode>(Node);
    (void)N;

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

  }
  case 94: {
    // Predicate_imm_odd
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return (Imm & 1) == 1; 
  }
  case 95: {
    // Predicate_imm_even
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return (Imm & 1) == 0; 
  }
  case 96: {
    // Predicate_arm_i32imm
    const APInt & Imm = cast<ConstantSDNode>(Node)->getAPIntValue();

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

  }
  case 97: {
    // Predicate_thumb_immshifted
    auto *N = cast<ConstantSDNode>(Node);
    (void)N;

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

  }
  case 98: {
    // Predicate_imm0_255_comp
    auto *N = cast<ConstantSDNode>(Node);
    (void)N;

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

  }
  case 99: {
    // Predicate_imm256_510
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

  return Imm >= 256 && Imm < 511;

  }
  case 100: {
    // Predicate_fadd_mlx
    // Predicate_fsub_mlx
    SDNode *N = Node;
    (void)N;

  return hasNoVMLxHazardUse(N);

  }
  case 101: {
    // Predicate_vfp_f64imm
    auto *N = cast<ConstantFPSDNode>(Node);
    (void)N;

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

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

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

      return ARM_AM::getFP16Imm(N->getValueAPF()) != -1;
    
  }
  case 105: {
    // Predicate_addnsw
    // Predicate_subnsw
    SDNode *N = Node;
    (void)N;

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

  }
  case 106: {
    // Predicate_addnuw
    // Predicate_subnuw
    SDNode *N = Node;
    (void)N;

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

  }
  case 107: {
    // Predicate_aligned_maskedloadvi8
    SDNode *N = Node;
    (void)N;

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

  }
  case 108: {
    // Predicate_aligned_maskedloadvi16
    SDNode *N = Node;
    (void)N;

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

  }
  case 109: {
    // Predicate_aligned_extmaskedloadvi8
    // Predicate_aligned_extmaskedloadvi16
    SDNode *N = Node;
    (void)N;

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

  }
  case 110: {
    // Predicate_aligned_sextmaskedloadvi8
    // Predicate_aligned_sextmaskedloadvi16
    SDNode *N = Node;
    (void)N;

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

  }
  case 111: {
    // Predicate_aligned_zextmaskedloadvi8
    // Predicate_aligned_zextmaskedloadvi16
    SDNode *N = Node;
    (void)N;

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

  }
  case 112: {
    // Predicate_aligned_maskedloadvi32
    SDNode *N = Node;
    (void)N;

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

  }
  case 113: {
    // Predicate_imm1_7
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return Imm > 0 && Imm < 8; 
  }
  }
}
#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 SelectShiftImmShifterOperand(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 1:
    Result.resize(NextRes+3);
  return SelectRegShifterOperand(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first);
  case 2:
    Result.resize(NextRes+1);
  return SelectAddLikeOr(Parent, N, Result[NextRes+0].first);
  case 3:
    Result.resize(NextRes+2);
  return SelectImmShifterOperand(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 4:
    Result.resize(NextRes+2);
  return SelectCMOVPred(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 5:
    Result.resize(NextRes+1);
  return SelectAddrOffsetNone(N, Result[NextRes+0].first);
  case 6:
    Result.resize(NextRes+1);
  return SelectImmediateInRange<1,8>(N, Result[NextRes+0].first);
  case 7:
    Result.resize(NextRes+1);
  return SelectImmediateInRange<1,16>(N, Result[NextRes+0].first);
  case 8:
    Result.resize(NextRes+3);
  return SelectAddrMode3(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first);
  case 9:
    Result.resize(NextRes+2);
  return SelectThumbAddrModeImm5S2(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 10:
    Result.resize(NextRes+2);
  return SelectThumbAddrModeRR(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 11:
    Result.resize(NextRes+3);
  return SelectShiftRegShifterOperand(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first);
  case 12:
    Result.resize(NextRes+2);
  return SelectShiftImmShifterOperand(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 13:
    Result.resize(NextRes+2);
  return SelectAddrMode6(Parent, N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 14:
    Result.resize(NextRes+1);
  return SelectAddrMode6Offset(Root, N, Result[NextRes+0].first);
  case 15:
    Result.resize(NextRes+2);
  return SelectAddrMode6(Parent, N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 16:
    Result.resize(NextRes+2);
  return SelectAddrModePC(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 17:
    Result.resize(NextRes+2);
  return SelectAddrMode2OffsetReg(Root, N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 18:
    Result.resize(NextRes+2);
  return SelectAddrMode2OffsetImm(Root, N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 19:
    Result.resize(NextRes+2);
  return SelectAddrMode3Offset(Root, N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 20:
    Result.resize(NextRes+3);
  return SelectLdStSOReg(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first);
  case 21:
    Result.resize(NextRes+3);
  return SelectT2AddrModeSoReg(N, Result[NextRes+0].first, Result[NextRes+1].first, Result[NextRes+2].first);
  case 22:
    Result.resize(NextRes+1);
  return SelectT2AddrModeImm8Offset(Root, N, Result[NextRes+0].first);
  case 23:
    Result.resize(NextRes+2);
  return SelectAddrMode5(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 24:
    Result.resize(NextRes+2);
  return SelectAddrModeImm12(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 25:
    Result.resize(NextRes+2);
  return SelectThumbAddrModeSP(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 26:
    Result.resize(NextRes+2);
  return SelectThumbAddrModeImm5S4(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 27:
    Result.resize(NextRes+2);
  return SelectThumbAddrModeImm5S1(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 28:
    Result.resize(NextRes+2);
  return SelectT2AddrModeImm12(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 29:
    Result.resize(NextRes+2);
  return SelectT2AddrModeImm8(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 30:
    Result.resize(NextRes+2);
  return SelectAddrMode5FP16(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 31:
    Result.resize(NextRes+2);
  return SelectT2AddrModeImm7<0>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 32:
    Result.resize(NextRes+2);
  return SelectT2AddrModeImm7<1>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 33:
    Result.resize(NextRes+2);
  return SelectT2AddrModeImm7<2>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 34:
    Result.resize(NextRes+1);
  return SelectT2AddrModeImm7Offset<0>(Root, N, Result[NextRes+0].first);
  case 35:
    Result.resize(NextRes+1);
  return SelectT2AddrModeImm7Offset<1>(Root, N, Result[NextRes+0].first);
  case 36:
    Result.resize(NextRes+1);
  return SelectT2AddrModeImm7Offset<2>(Root, N, Result[NextRes+0].first);
  case 37:
    Result.resize(NextRes+2);
  return SelectTAddrModeImm7<0>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 38:
    Result.resize(NextRes+2);
  return SelectTAddrModeImm7<1>(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 SelectTAddrModeImm7<2>(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);
  case 47:
    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->getTargetConstant(-(int)N->getZExtValue(), SDLoc(N), MVT::i32);

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

  return CurDAG->getTargetConstant(-((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->getTargetConstant(~(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());

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

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

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

      APFloat InVal = N->getValueAPF();
      uint32_t enc = ARM_AM::getFP16Imm(InVal);
      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
